【问题标题】:Categories don't show on JComboBox类别不显示在 JComboBox
【发布时间】:2014-12-12 14:55:52
【问题描述】:
我正在JPanel 中编写代码,一切正常。但是,当我查看面板时,类别不显示。
这是我写的代码:
for(Category c : categories){
comboModel.addElement(c);
NoResultsLabel.setVisible(false);
}
CategoriesCombo.setModel(comboModel);
所以在设计里面的自定义代码中我写了以下内容:
CategoriesCombo.setModel(comboModel);
但是,类别仍然没有显示在组合框中。
【问题讨论】:
-
变量名不应以大写字符开头。基于几行代码,我们无法提供帮助。发布一个正确的SSCCE 来证明问题。那就是创建一个 JFrame,其中添加了一个 JComboBox 到框架中。在创建 SSCCE 时,90% 的时间都会发现问题,因为您将问题简化为几行代码。
标签:
java
swing
jpanel
jcombobox
【解决方案1】:
您是否尝试更改 NoResultsLabel.setVisible(false);到 NoResultsLabel.setVisible(true);如果您的问题得到解决,请告诉我们
NoResultsLabel.setVisible(false); to NoResultsLabel.setVisible(true);
【解决方案2】:
确保您的循环正常,我的意思是类别和类别类和
确保您的 CategoriesCombo 是 JComboBox 类型,然后将您的 ComboBox 添加到 Jpanel
然后使用 DefaulComboBoxModel 给 ComboBox 一个模型
像这样:
class test extends JFrame{
private JComboBox combo;
private final DefaultComboBoxModel model;
private Jpanel panel;
test()
{
combo = new JComboBox();
model = new DefaultComboBoxModel();
panel = new Jpanel();
createModel();
combo.SetModel(model);
panel.add(Combo);
add(panel);
}
void createModel()
{
for(Category c : categories){
model.addElement(c);
NoResultsLabel.setVisible(false);
}
public static void main(String[] args)
{
test t = new test();
}
}