首先,您可能不应该重新打开 JFrame 。您应该使用setVisible
方法。例如,如果使用按钮关闭JFrame,则可以通过以下方式调用该方法:
jframe.setVisible(false);
jframe变量引用您唯一的JFrame实例。
如果通过单击按钮或菜单项打开它,请测试jframe实例是否存在,如果不存在,则创建它,否则将其可见性设置为true。因此,它看起来像:
if (jframe != null) {
jframe.setVisible(true);
} else {
// call your initial JFrame creation routine here
}
您还应注意用户单击左上角的小关闭按钮(取决于操作系统,右上角的小按钮)的情况。在这种情况下,您不希望删除Jframe,而只希望将其隐藏。因此,您应该在创建JFrame时定义其 setDefaultCloseOperation 行为。在这种特殊情况下,请使用以下内容:
jframe.setDefaultCloseOperation(HIDE_ON_CLOSE);
这指示我们单击关闭按钮时,Swing隐藏JFrame。
在任何情况下,如果先检查JComboBox内是否没有项目(getItemCount() == 0
),或者在插入新项目之前明确调用removeAllItems()
方法,就可以避免重复项目。
第一个选项如下:
if (entrada7.getItemCount() == 0) {
entrada7.addItem("option 1");
entrada7.addItem("option 2");
entrada7.addItem("option 3");
}
第二种选择是:
entrada7.removeAllItems();
entrada7.addItem("option 1");
entrada7.addItem("option 2");
entrada7.addItem("option 3");
在第一种情况下,项目将仅添加一次。在第二种情况下,如果已经添加了项目,则将其删除,然后再次添加。第一种选择当然更好。
本文链接:https://www.f2er.com/2846232.html