【发布时间】:2013-07-05 16:08:45
【问题描述】:
你能帮我处理这段代码吗?我怎样才能使它在单击按钮时出现第二个按钮?我已经添加了动作监听器并创建了第二个按钮,但我似乎无法做到。非常感谢大家!!!
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
public class Skeleton extends JFrame implements ActionListener {
public static void main(String[] args) {
JFrame frame = new JFrame("Skeleton");
JPanel panel = new JPanel();
JButton button = new JButton("This is a button.");
JButton button2 = new JButton("Hello");
frame.setSize(600,600);
frame.setResizable(false);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setContentPane(panel);
panel.setLayout(new FlowLayout());
panel.add(button);
}
public void actionPerformed(ActionEvent e) {
panel.add(button2); //Whenever I compile with this line
//of code inserted, it tells
//me cannot find Button 2
}
}
再次感谢!
【问题讨论】:
-
这个程序不会编译。
-
此 GUI 存在多个问题。请调试并让我们知道您需要什么帮助。
-
不要让类扩展 Jpanel。它没有任何意义。对于面板问题。将 main 中的所有代码移动到非静态方法。通过创建类的实例来调用这个非静态方法。然后将 Panel 实例和 button2 实例设为类级变量。
-
我已经修复了 JButton 没有出现的问题。谢谢 pravat,我用 JFrame 扩展了主类,它工作了。 Tdorno 和 Vishal K,因为它现在可以编译并且工作正常,你能帮我处理 actionlistener 吗?非常感谢你们,也谢谢大家。
-
还有一件事:Pravat,创建类的实例是什么意思?非常遗憾;我是一个完全的初学者新手。谢谢!
标签: java swing user-interface jpanel jbutton