2

我试图在我的 JFrame 中创建按钮,但它们没有出现......

private void btButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                              
       for(int i=0; i < 5; i++) { 
            JButton btn = new JButton(); 
            //System.out.print(i);
            btn.setText("Button " + i);
            System.out.print(btn.getText() + " ");
       }
}
4

2 回答 2

4

您尚未将它们添加到框架中。

尝试

 for(int i=0; i < 5; i++) { 
        JButton btn = new JButton(); 
        //System.out.print(i);
        btn.setText("Button " + i);
        frame.add(btn);                 //adding to frame
        System.out.print(btn.getText() + " ");
    }

循环后不要忘记调用repaintrevalidate查看更改。

于 2013-09-13T16:01:10.910 回答
2

您没有将按钮添加到框架中。这里有一个示例如何水平添加 JPanel 通过循环添加 JPanel

  private void btButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                              
        for(int i=0; i < 5; i++) { 
            JButton btn = new JButton(); 
            btn.setText("Button " + i);
            //assuming `this` is a jframe
            this.add(btn);      
        }
           this.revalidate();
           this.repaint();
    }
于 2013-09-13T16:06:59.703 回答