private String stringComboBoxElement[] = {"Roll", "SetCode", "Answers", "Others"};
contentPane = new JPanel();
contentPane.setLayout(null);
comboBoxfields = new JComboBox(stringComboBoxElement);
comboBoxfields.setBounds(180, 50, 120, 30);
comboBoxfields.setFont(new Font("sansserif", Font.TRUETYPE_FONT | Font.PLAIN, 15));
comboBoxfields.setBorder(new SoftBevelBorder(BevelBorder.LOWERED));
if(stringComboBoxElement.length > 5)
comboBoxfields.setMaximumRowCount(5);
else
comboBoxfields.setMaximumRowCount(stringComboBoxElement.length);
comboBoxfields.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
if(e.getStateChange() == ItemEvent.SELECTED)
textFieldName.setText((String) e.getItem());
}
});
contentPane.add(comboBoxfields);
我做了所有事情,但 JComboBox 没有出现在窗口中。有什么问题以及如何解决它?无法上传完整代码。问题就出在这里,没有它一切都工作正常。有人可以帮我吗?
最佳答案
以下代码对我有用:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
public class Example {
private static final String COMBO_BOX_ELEMENTS[] = {"Roll", "SetCode", "Answers", "Others"};
public static void main(String[] args) {
JFrame window = new JFrame("Example");
JPanel contentPane = new JPanel();
contentPane.setLayout(new GridBagLayout());
final JComboBox comboBoxfields = new JComboBox(COMBO_BOX_ELEMENTS);
comboBoxfields.setFont(new Font("sansserif", Font.TRUETYPE_FONT | Font.PLAIN, 15));
comboBoxfields.setBorder(new SoftBevelBorder(BevelBorder.LOWERED));
comboBoxfields.setMaximumRowCount(5);
comboBoxfields.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent actionEvent) {
System.out.println(
"'" + comboBoxfields.getSelectedItem().toString() + "'"
+ " was selected");
}
});
contentPane.add(comboBoxfields);
window.add(contentPane); // I guess this is what you need to do.
window.setSize(500, 500);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setVisible(true);
}
}
正如 @nachokk 所提到的,您需要将 contentPane
添加到 JFrame
。
关于java - JComboBox 未出现在窗口中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22581558/