【问题标题】:How can i know that a JButton of another class is selected?我怎么知道选择了另一个类的 JButton?
【发布时间】:2021-04-09 17:40:48
【问题描述】:

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

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 的添加按钮。

【问题讨论】:

标签: java swing class jframe actionlistener


【解决方案1】:

我不确定你想说什么,但如果你问的话。如何让程序知道当点击特定按钮时该做什么然后你需要在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")
  }
}

注意:由于它来自另一个类,因此您应该将按钮设为 public 和 static,以便您可以在其他类中访问它。另外,既然要从另一个班级调用它,你就说classname.button。示例:testButtonClass.button

【讨论】:

  • 不,我想让程序知道我点击了另一个屏幕(另一个类)中的一个按钮,我试图创建这个类的一个对象并使用(if (object.add.isselected( ) ) 但它不工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-30
  • 2015-12-31
  • 2023-02-04
  • 2011-06-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多