Java 如何调用JMenuItem中的其他类?

Java 如何调用JMenuItem中的其他类?,java,swing,methods,Java,Swing,Methods,我得到了一个带有开始代码的JMenuItem。当我单击一个图标时,代码将启动,我如何获得该图标 private void jMenuItemActionPerformed(java.awt.event.ActionEvent evt) { String color="blue"; } private void IconActionPerformed(java.awt.event.ActionEvent evt) { // here i dont know how start Jm

我得到了一个带有开始代码的
JMenuItem
。当我单击一个图标时,代码将启动,我如何获得该图标

private void jMenuItemActionPerformed(java.awt.event.ActionEvent evt) {   
  String color="blue";
}

private void IconActionPerformed(java.awt.event.ActionEvent evt) {
  // here i dont know how start JmenuItem when i click on it
  get.jMenuItemActionPerformed; 
}

我不知道这是正确的方法还是简单的解决方法,但是你应该知道菜单项应该在你的主框架中。因此,您可以爬升组件层次结构以获取其容器/父级,直到该类与您的frames类不匹配为止。一旦可用,您就可以获取其侦听器并触发事件


再一次,我觉得这是一个突然出现在我脑海中的变通方法,你可以让代码运行,直到找到解决方案。

我不知道这是正确的方法还是简单的变通方法,但你应该知道菜单项应该在你的主框架中。因此,您可以爬升组件层次结构以获取其容器/父级,直到该类与您的frames类不匹配为止。一旦可用,您就可以获取其侦听器并触发事件


我再一次感觉到这是一个突然出现在我脑海中的解决方法,你可以让代码一直运行,直到找到解决方案。

看起来你还没有在你的
JMenuItem
中添加
ActionListener
ActionListener
等待GUI组件上执行某些操作(如单击),然后调用某些代码。例如:

JMenuItem myMenuItem = new JMenuItem("Hello");
myMenuItem.addActionListener(new ActionListener()
{
    public void actionPerformed(ActionEvent e)
    {
        System.out.println("Hello button clicked!"); // or call some other method
    }
});

看起来您尚未将
ActionListener
添加到
JMenuItem
中。
ActionListener
等待GUI组件上执行某些操作(如单击),然后调用某些代码。例如:

JMenuItem myMenuItem = new JMenuItem("Hello");
myMenuItem.addActionListener(new ActionListener()
{
    public void actionPerformed(ActionEvent e)
    {
        System.out.println("Hello button clicked!"); // or call some other method
    }
});

你的意思是调用
jMenuItemActionPerformed(evt)evt
可能不再合适)?是的,我的意思是调用jMenuItemActionPerformed(evt)<代码>字符串color=“蓝色”常规提示:使用类似
Color=Color.BLUE的东西如果这实际上是为了表示一种颜色。顺便说一句,即使有了评论,你的问题对我来说仍然没有什么意义。但我要试试看。将注释中的代码行分解为它自己的方法。在任何需要的地方调用这个方法。我只是注意到fist方法实际上什么都没有实现。它创建了一个未使用的局部变量&在方法结束后超出范围。我得到了100行代码,如果可能,我想在JButon上调用jMenuItem,或者有其他解决方案。你是说调用
jMenuItemActionPerformed(evt)evt
可能不再合适)?是的,我的意思是调用jMenuItemActionPerformed(evt)<代码>字符串color=“蓝色”常规提示:使用类似
Color=Color.BLUE的东西如果这实际上是为了表示一种颜色。顺便说一句,即使有了评论,你的问题对我来说仍然没有什么意义。但我要试试看。将注释中的代码行分解为它自己的方法。在任何需要的地方调用这个方法。我只是注意到fist方法实际上什么都没有实现。它创建了一个未使用的局部变量&在方法结束后超出了范围。我得到了100行代码,我想在JButon上调用jMenuItem,如果可能,或者有其他解决方案。