我怎么知道选择了另一个类的 JButton?

问题描述

我创建了一个在另一个类中实现接口的类:

public class WindowManege extends JFrame implements ActionListener,NouvelArticle.NouvelArticleEvent{
NewArticle nv;
JMenuItem new= new JMenuItem("new");
 new.addActionListener(new ActionListener() { 
            public void actionPerformed(ActionEvent ev) {
             nv.setVisible(true);
             nv.setAlwaysOnTop(true);
   .
   . 
   .
            }
            });
}

这是我的 NewArticle 类:


public class NewArticle extends JFrame {
  .
  .
  .
 public NewArticle(){
  .
  .
  .
add.addActionListener(new ActionListener() {
         
         public void actionPerformed(ActionEvent e) {
             
     .
     . 
     .               
          
         }
      });
        
    }

因此,当我单击 WindowManege 类的新菜单项时,将出现 NewArticle 窗口,当我单击 NewArticle 窗口中的添加按钮时,该窗口将关闭,并且旧窗口(WindowManege 类)中的某些内容会发生变化 我的问题是我应该在 WindowManege 中设置什么条件才能单击或选择 NewArticle 的添加按钮。

解决方法

我不确定你想说什么,但如果你问的话。你如何让程序知道当点击特定按钮时要做什么,那么你需要在 action Performed 方法下添加这行代码。

if(e.getSource == (Your Button's Name) { 
   // Put what you want your button to do here

}

我们使用带有 e.getSource == (Your button's name) 条件的 if 语句,因此它知道如果点击该特定按钮时要执行的操作。

示例:

JButton button = new JButton("Button");
button.addActionListener(new buttonTestClass());

public void actionPerformed(ActionEvent e) {
  if(e.getSource == button) {
      System.out.println("Button clicked")
  }
}

注意:由于它来自另一个类,您应该将按钮设为公共和静态,以便您可以在另一个类中访问它。另外,因为从另一个类调用它,你说 classname.button。示例:testButtonClass.button