我的问题很简单:我试图添加一个WindowListener和一个onClose Listener(或一般的Listener(,但我不知道如何在Netbeans 8.0中添加代码。
我对此表示怀疑,因为Netbeans完全自己创建JFrame,并隐藏代码。我必须在这个由Netbeans创建的自定义代码中,或者在类构造函数中,或者任何其他地方添加Listener?
您可以使用JFrame's Properties -> Events
和Properties
向JFrame添加许多侦听器(Bindings
有时也可以帮助您(。
如果你没有得到你需要的东西,只需将你的代码放入构造函数中,或者——如果数量很大——让私有方法你在ctor中调用。
我更喜欢一个私有的方法,而不是把所有的东西都放在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()
之后添加监听器-这是生成的方法,它初始化所有组件-否则一些组件可能还没有准备好。