2

JFrame に JComboBox を配置しようとしています。クリックするとコンボの内容が表示されますが、JFrame には表示されませんでした。

私はすでに試しました:.setVisible(true)、.setEnabled(true)など。

これが私のコードです:

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);
   }
}

どんな解決策でも大歓迎です!. ありがとう

4

2 に答える 2

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);
}
于 2013-05-09T05:02:03.220 に答える
0

メインメソッドを追加してコードをテストしただけで、問題なく動作します。

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();

    }

}
于 2013-05-09T05:14:07.973 に答える