嗯,这是一个非常新的提示。我说要在窗口构建器的帮助下自己编写我的 GUI 应用程序的代码,我决定停止使用 netbeans,因为我在这里读过一些人说这很好。你可能认为我没有调查,但相信我,我做了我的功课......
我尝试了oracle所说的方式:
- 声明一个事件处理程序类并指定该类实现 ActionListener 接口或扩展实现 ActionListener 接口的类。例如:
公共类 MyClass 实现 ActionListener {
- 将事件处理程序类的实例注册为一个或多个组件的侦听器。例如:
someComponent.addActionListener(instanceOfMyClass);
- 在侦听器接口中包含实现方法的代码。例如:
public void actionPerformed(ActionEvent e) { ...//对动作做出反应的代码... }
package Todos;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class Main extends JFrame {
private JPanel contentPane;
protected JButton btnNewButton;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Main frame = new Main();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Main() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.getContentPane().setLayout(new BorderLayout());
//setDefaultLookAndFeelDecorated(false);
//setIconImage(Image imagen);
setTitle("");
setSize(java.awt.Toolkit.getDefaultToolkit().getScreenSize());
setPreferredSize(java.awt.Toolkit.getDefaultToolkit().getScreenSize());
setLocationRelativeTo(null);
this.btnNewButton = new JButton("New button");
this.btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
asd(arg0);
}
});
this.getContentPane().add(this.btnNewButton, BorderLayout.NORTH);
}
public void asd(ActionEvent arg0) {
this.getContentPane().add(new JButton("asd"));
}
}
提示是,为什么这段代码不起作用,我点击后尝试使用 ActionPerformed 事件添加到 JFrame 的 JButton 不可见。
这是一个示例代码,可能看起来很傻,但我认为它简化了提示,因为我的问题在于几行代码,不需要向您展示漏洞项目。
先感谢您!