2013-05-09 70 views
2

我試圖把一個JComboBox放在我的JFrame上,如果我點擊顯示組合的內容,但它沒有顯示在JFrame上。JComboBox不顯示

我已經試過:.setVisible(真),.setEnabled(真),等

這裏是我的代碼:

public class tryCode { 
    private final JComboBox vehicleTypeBox = new JComboBox(new String[] {"HELLO WORLD", "OLA K ASE"}); 
    private JFrame frame; 

    public tryCode() { 
     frame = new JFrame(""); 
     frame.setSize(new Dimension(300, 300)); 
     frame.setLayout(null); 
     frame.setResizable(false); 
     frame.setLocationRelativeTo(null); 
     frame.setVisible(true); 

     showComboBox(); 
    } 

    public void showComboBox() { 
     vehicleTypeBox.setBounds(10,80,100,30); 
     vehicleTypeBox.setSelectedIndex(0); 
     frame.add(vehicleTypeBox); 
    } 
} 

任何解決方案是值得歡迎的!謝謝

+1

你在哪裏調用了showComboBox() – Ankit 2013-05-09 05:00:19

+2

1)你永遠不會將組合框添加到框架。當您解決此問題時,請確保在使框架可見之前將組合框添加到框架。 2)不要使用null佈局! 3)遵循Java命名約定。類名以大寫字符開頭。 – camickr 2013-05-09 05:01:33

+0

對不起,缺少部分代碼,在構造函數中調用:] – 2013-05-09 05:03:08

回答

2

你永遠不會撥打showComboBox()任何地方。如果它應該在啓動時出現,您應該在構造函數中調用它。

public tryCode() 
{ 
    frame = new JFrame(""); 
    frame.setSize(new Dimension(300, 300)); 
    frame.setLayout(new FlowLayout()); // do not use null! 
    frame.setResizable(false); 
    frame.setLocationRelativeTo(null); 
    showComboBox(); 
    frame.setVisible(true); 
} 
+0

我給你+1只是爲了使用佈局管理器!但是你碰到了這個問題! – MadProgrammer 2013-05-09 05:10:30

+0

是的我試過了,不顯示JCOmboBox,但它顯示了我單擊時的項目​​。請參閱截圖https://docs.google.com/file/d/0B_y8aN4-TJMvTVd3SU13Uml4dzg/edit?usp=sharing https:// docs。 google.com/file/d/0B_y8aN4-TJMvVVNONEVmSzA3MXM/edit?usp=sharing – 2013-05-09 05:11:03

+1

@MateoOlaya,屏幕截圖不會告訴我們任何事情,你已經給出了答案,我懷疑你還沒有按照給出的建議,我們可以'直到您發佈您的SSCCE爲止。 – camickr 2013-05-09 05:13:12

0

我只是測試你的代碼,添加一個主要method.and它的工作。沒有問題。

import java.awt.Dimension; 

import javax.swing.JComboBox; 
import javax.swing.JFrame; 

public class TryCode { 
    private final JComboBox vehicleTypeBox = new JComboBox(new String[] {"HELLO WORLD", "OLA K ASE"}); 
    private JFrame frame; 

    public TryCode() { 
     frame = new JFrame(""); 
     frame.setSize(new Dimension(300, 300)); 
     frame.setLayout(null); 
     frame.setResizable(false); 
     frame.setLocationRelativeTo(null); 
     frame.setVisible(true); 

     showComboBox(); 
    } 

    public void showComboBox() { 
     vehicleTypeBox.setBounds(10,80,100,30); 
     vehicleTypeBox.setSelectedIndex(0); 
     frame.add(vehicleTypeBox); 
    } 



    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 
    TryCode t=new TryCode(); 

    } 

}