我的程序有一个GUI,用户首先选择一个按钮来加载excel文件。然后excel文件的内容列在JTextArea和JComboBox中。正如您在图片中看到的,虽然JTextArea包含一些文本,但JComboBox是空的。我调试了代码,可以验证JComboBox的变量(TheGene)是否添加了该项。换句话说,str
在每次迭代中都包含AARS,AARS2,....
描述JComboBox的示例在创建JComboBox后静态添加项目。我想在运行某些东西后添加项目(当按钮的工作完成时)。
我正在使用Netbeans的框架设计器,其中自动生成以下代码
public class TheFrame extends javax.swing.JFrame
{
...
private javax.swing.JComboBox<String> TheGene;
private void initComponents() {
...
TheGene = new javax.swing.JComboBox<>();
TheGene.setMaximumRowCount(20);
TheGene.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
TheGeneActionPerformed(evt);
}
});
...
}
private void TheGeneActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
int n = theFile.getGeneNumberFromFile();
for (int i = 0; i < n; i++){
String str = theFile.getGeneNameFromFile( i );
TheGene.addItem(str);
}
}
答案 0 :(得分:1)
您可以使用JComboBox
的模型:
DefaultComboBoxModel<String> model = new DefaultComboBoxModel<String>();
JComboBox TheGene = new JComboBox( model );
然后点击Load Gene List
按钮:
private void TheGeneActionPerformed(java.awt.event.ActionEvent evt)
{
model.removeAllElements();
// TODO add your handling code here:
int n = theFile.getGeneNumberFromFile();
for (int i = 0; i < n; i++) {
String str = theFile.getGeneNameFromFile( i );
model.addElement(str);
}
}
这应该填充组合的项目。