我的问题非常简单:我正在尝试添加一个WindowListener和一个onClose监听器(或者一般的监听器),但我不知道该怎么做才能在Netbeans 8.0中添加代码。
我有这个疑问,因为Netbeans完全自己创建了JFrame,并隐藏了这些代码。我必须在Netbeans或类构造函数或其他任何地方创建的自定义代码中的某处添加Listener吗?
答案 0 :(得分:1)
您可以使用 JFrame's Properties -> Events
和 Properties
( Bindings
向JFrame添加许多侦听器有时也会帮助你。)
如果您无法获得所需内容,只需将代码放入构造函数中,或者 - 如果它很多 - 请使用私有方法 在
我更喜欢私人方法,而不是把所有方法都放在ctor中,但这真的是你选择的。
示例:强>
public class Example extends javax.swing.JFrame
{
public Example()
{
initComponents(); // This is generated by NB - do NOT remove!
addListeners(); // add listeners here
}
/**
* Adds listeners to the frame
*/
private void addListeners()
{
// Add your listeners here as usual
this.addWindowListener(new WindowListener()
{
@Override
public void windowOpened(WindowEvent e)
{
/* ... */
}
/* Other methods of WindowListener ... */
});
}
/* ... */
}
这里只有一件事:在 initComponents()
之后添加您的听众 - 生成的方法会初始化所有组件 - 否则某些组件可能不会做好准备。