有人可以解释这个 java Swing 代码吗?
Could someone please explain this java Swing code?
我最近刚开始使用 Awt 和 Swing Java 并且有 ActionListener 的代码
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
现在,我所知道的事情 -
我们应该传递 class 的对象,其构造函数定义了上述代码。通常,我通过 'this' 从而给出当前 class 的对象作为参数。
现在上面的代码包含'java.awt.event.ActionListener()'。那是什么意思??简而言之,有人可以完全解释上面提到的整个代码吗?会善待你的。我找不到这个确切的问题,已经问过的人似乎已经理解了我坚持的这个基本概念,所以他们只是解决了他们其他复杂的疑问。
您创建了一个新的 ActionListener:
new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
}
并将其添加到您的按钮:
jButton1.addActionListener(..);
这与您创建一个新的相同 class 实现 ActionListener
接口并将其添加到按钮。
这只是一段代码,可以从包中创建一个新的动作侦听器 java.awt.event
然后为它添加一个动作,但可能是空的。
您的代码正在创建一个匿名的 ActionListener,如果您只需要将它用于 jbutton1,这很好。如果您需要它用于多个按钮,您可以创建侦听器 class 并为其命名以用于您需要的所有按钮,如下所示:
public class myListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e){
if( ((JButton) e.getSource()) == jButton1 ) jButton1ActionPerformed(e);
else if( ((JButton) e.getSource()) == jButton2 ) jButton2ActionPerformed(e);
}
}//end listener class
并为所有按钮添加监听器:
jButton1.addActionListener(new myListener());
jButton2.addActionListener(new myListener());
这里稍微讲一下:http://www.fredosaurus.com/notes-java/GUI/events/anonymous_listener.html
我最近刚开始使用 Awt 和 Swing Java 并且有 ActionListener 的代码
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
现在,我所知道的事情 - 我们应该传递 class 的对象,其构造函数定义了上述代码。通常,我通过 'this' 从而给出当前 class 的对象作为参数。
现在上面的代码包含'java.awt.event.ActionListener()'。那是什么意思??简而言之,有人可以完全解释上面提到的整个代码吗?会善待你的。我找不到这个确切的问题,已经问过的人似乎已经理解了我坚持的这个基本概念,所以他们只是解决了他们其他复杂的疑问。
您创建了一个新的 ActionListener:
new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
}
并将其添加到您的按钮:
jButton1.addActionListener(..);
这与您创建一个新的相同 class 实现 ActionListener
接口并将其添加到按钮。
这只是一段代码,可以从包中创建一个新的动作侦听器 java.awt.event 然后为它添加一个动作,但可能是空的。
您的代码正在创建一个匿名的 ActionListener,如果您只需要将它用于 jbutton1,这很好。如果您需要它用于多个按钮,您可以创建侦听器 class 并为其命名以用于您需要的所有按钮,如下所示:
public class myListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e){
if( ((JButton) e.getSource()) == jButton1 ) jButton1ActionPerformed(e);
else if( ((JButton) e.getSource()) == jButton2 ) jButton2ActionPerformed(e);
}
}//end listener class
并为所有按钮添加监听器:
jButton1.addActionListener(new myListener());
jButton2.addActionListener(new myListener());
这里稍微讲一下:http://www.fredosaurus.com/notes-java/GUI/events/anonymous_listener.html