2

JLabel と JCombobox を JPanel に追加しています。これは正常に動作しますが、これにさらに 2 つのボタンを追加すると、それらのボタンが表示されません。

以下は私のコードです:

JPanel jPanel=new JPanel();
jPanel.setLayout(null);
JLabel label = new JLabel("Welcome");                       
label.setFont(new Font("Helvetica", Font.ROMAN_BASELINE, 13));          
jPanel.add(label);     
JComboBox combo = new JComboBox(comboboxbean);
combo.setPreferredSize(new Dimension(285, 20));
combo.setFont(new Font("Helvetica", Font.ROMAN_BASELINE, 13));          
jPanel.add(combo);           
startButton = new JButton("Start");
stopButton = new JButton("Stop");
startButton.addActionListener(this);
startButton.setActionCommand("enable");
jPanel.add(startButton);
stopButton.addActionListener(this);
stopButton.setActionCommand("enable");
jPanel.add(stopButton); 
Insets insets = jPanel.getInsets();              

Dimension size = label.getPreferredSize();
        label.setBounds(20 + insets.left, 30 + insets.top,
                     size.width, size.height);

Dimension size1 = combo.getPreferredSize();
     combo.setBounds(20 + insets.left, 65 + insets.top,
                     size1.width, size1.height);

Dimension size2 = startButton.getPreferredSize();
    startButton.setBounds(20 + insets.left, 100 + insets.top,
                size2.width, size2.height);

Dimension size3 = stopButton.getPreferredSize();
     stopButton.setBounds(20 + insets.left, 130 + insets.top,
             size3.width, size3.height);        

frame.add(jPanel);  
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);  

最後に、JPanel を JFrame に追加しています。JPanel のレイアウトを null に設定しました。ボタンが表示されない理由がわかりません。どんな助けでも大歓迎です。

4

1 に答える 1

2

レイアウトが null の場合は、setBounds()メソッドを使用して、 に追加するコンポーネントを配置する必要があることを意味しますJPanelJPanelあなたは現在それを行っていないので、 の外側またはの下にボタンが描かれていると思いますJComboBox
とにかく、ボタンを特定の位置に配置したい場合は、それらに伝える必要があります。これはLayout、null 以外を使用する場合のように自動ではありません。

于 2012-08-16T11:25:50.373 に答える