[英]Adding components to a JFrame
在下面的程序中,我創建了一個按鈕,當單擊該按鈕時,它將顯示另一個具有添加組件的jframe。 但是,當我單擊此按鈕時,它沒有顯示任何組件,只有空白的jframe和標題出現。 誰能解釋我的問題?
b1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
JFrame f1 = new JFrame();
f1.setVisible(true);
f1.setSize(800, 700);
f1.setTitle("Calc");
f1.getContentPane().setLayout(new FlowLayout());
JTextField t1 = new JTextField(10);
JTextField t2 = new JTextField(10);
JTextField t3 = new JTextField(10);
JButton b1 = new JButton("1");
JButton b2 = new JButton("2");
JButton b3 = new JButton("3");
JButton b4 = new JButton("4");
JButton b5 = new JButton("5");
JButton b6 = new JButton("6");
JButton b7 = new JButton("7");
JButton b8 = new JButton("8");
JButton b9 = new JButton("9");
JButton b10 = new JButton("0");
JButton b11 = new JButton("Add");
JButton b12 = new JButton("Sub");
JButton b13 = new JButton("Mul");
JButton b14 = new JButton("Div");
JButton b15 = new JButton("=");
JButton b16 = new JButton("CLR");
f.getContentPane().add(t1);
f.getContentPane().add(t2);
f.getContentPane().add(t3);
f.getContentPane().add(b1);
f.getContentPane().add(b2);
f.getContentPane().add(b3);
f.getContentPane().add(b4);
f.getContentPane().add(b5);
f.getContentPane().add(b6);
f.getContentPane().add(b7);
f.getContentPane().add(b8);
f.getContentPane().add(b9);
f.getContentPane().add(b10);
f.getContentPane().add(b11);
f.getContentPane().add(b12);
f.getContentPane().add(b13);
f.getContentPane().add(b14);
f.getContentPane().add(b15);
f.getContentPane().add(b16);
}
});
您的情況可能是拼寫錯誤,由其他答案作為地址。
f1
代替f
f1.setVisible(true);
完成向其添加按鈕的操作后,將其顯示在底部下方,即f1.getContentPane().add(b16);
在您的代碼中,您已將JFrame改為f1
,並向f
添加了組件,因此它不會在框架中添加任何內容,因此,請嘗試使用添加f1
而不是f
並移動f1.setVisible(true);
將每個組件添加到f1
,如下所示
b1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
JFrame f1 = new JFrame();
f1.setSize(800, 700);
f1.setTitle("Calc");
f1.getContentPane().setLayout(new FlowLayout());
JTextField t1 = new JTextField(10);
JTextField t2 = new JTextField(10);
JTextField t3 = new JTextField(10);
JButton b1 = new JButton("1");
JButton b2 = new JButton("2");
JButton b3 = new JButton("3");
JButton b4 = new JButton("4");
JButton b5 = new JButton("5");
JButton b6 = new JButton("6");
JButton b7 = new JButton("7");
JButton b8 = new JButton("8");
JButton b9 = new JButton("9");
JButton b10 = new JButton("0");
JButton b11 = new JButton("Add");
JButton b12 = new JButton("Sub");
JButton b13 = new JButton("Mul");
JButton b14 = new JButton("Div");
JButton b15 = new JButton("=");
JButton b16 = new JButton("CLR");
f1.getContentPane().add(t1);
f1.getContentPane().add(t2);
f1.getContentPane().add(t3);
f1.getContentPane().add(b1);
f1.getContentPane().add(b2);
f1.getContentPane().add(b3);
f1.getContentPane().add(b4);
f1.getContentPane().add(b5);
f1.getContentPane().add(b6);
f1.getContentPane().add(b7);
f1.getContentPane().add(b8);
f1.getContentPane().add(b9);
f1.getContentPane().add(b10);
f1.getContentPane().add(b11);
f1.getContentPane().add(b12);
f1.getContentPane().add(b13);
f1.getContentPane().add(b14);
f1.getContentPane().add(b15);
f1.getContentPane().add(b16);
f1.setVisible(true);
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.