簡體   English   中英

如何使JComboBox出現在JFrame中?

[英]How to make JComboBox appear in JFrame?

我有一個曾經出現在JFrame中的JComboBox,現在卻沒有...不知道為什么,但是我認為它可能與JPanels和/或Containers有關。 我希望有一個JComboBox,其中包含不同的服裝類型。 JFrame出現時沒有JComboBox,這很奇怪。 這是我的代碼:

 public void init() {
    JComboBox dropDown = new JComboBox(description);
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     Container cont = frame.getContentPane();
        cont.setLayout(new FlowLayout());
        cont.add(t);
        cont.add(c);

    final JPanel pan = new JPanel();
    for (int i=0; i<6; i++){
     c.addItem(description[count++]);
      t.setEditable(false);
    }//end of for
      c.addActionListener(new ActionListener(){  
        public void actionPerformed(ActionEvent evt) {
          if (count < description.length){
            c.addItem(description[count++]);
          }//end of if
            selected = " "+((JComboBox) evt.getSource()).getSelectedItem();
}//end of method
};//end of listener
}//end of method

首先,您應用了“;” 在循環之后。 那是一個很大的錯誤。 我已經閱讀了您的代碼並進行了一些更改。 看看這個。 此代碼在屏幕上顯示JComboBox。


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class ans
{
JFrame frame=new JFrame();
String description[]={
"Hello","Bye","Java","Python","Fortran","Pascal"
};
int count=0;


JComboBox c=new JComboBox();
public void init() {
    final JPanel pan = new JPanel();
pan.setLayout(new FlowLayout());
    for (int i = 0; i < 6; i++)
        c.addItem(description[count++]);
        c.setEditable(false);
        c.addActionListener(new ActionListener(){  
            public void actionPerformed(ActionEvent evt) {
                //Do Something
                }//end of if

    // ... ? ...
}});
    frame.setContentPane(c);
    frame.setVisible(true);
    frame.pack();
}
public static void main(String arg[])
{
ans a=new ans();
a.init();
}
}

我們看不到代碼的所有重要部分,但一個可能的問題是; for循環之后。

for (int i = 0; i < 6; i++); c.addItem(description[count++]);

只會添加一個計數為0的項目。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM