2012-03-08 19 views
0

在NetBeans中,我有一个带JPanel组件的JDialog(称为Keypad)。我简单地将JPanel键盘拖放到JDialog上,netbeans生成了代码。在键盘上我有一个Enter按钮,我试图在JDialog中检测ActionPerformed(按下按钮)。这是可能的,我该怎么做?java - 在JDialog中的JPanel上执行的检测操作

回答

3

您必须添加一个ActionListener到您的输入按钮。您需要在JPanel构造函数中传递对JDialog的引用,以便与之通信。您需要实施ActionListener,或者您可以使用匿名类:

enterButton.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent e) { 
     // Do something to your JPanel reference 
    } 
}); 
+0

我真是个白痴。我的按钮是私人的,我忘了将其设置为受保护的......现在我可以访问它并使用ActionListener。感谢这个例子,看着它帮助我找出了我的问题。 – jadrijan 2012-03-08 19:42:04

+0

@jadrijan不客气。 – talnicolas 2012-03-08 19:42:36

+0

@jadrijan:我不明白如何保护它会帮助你。这不是继承将解决的问题。你也不应该公开。相反,你会想要使用基本的体面OOP技术将信息从一个类传递到另一个类,纯粹而简单。 – 2012-03-08 19:46:17