ActionPerfomed方法在内部类中不起作用

Java学生

我是一名初学者Java程序员,尝试ActionListener通过内部类实现。以下是简单的代码,我想在按钮单击时更改标签文本,但getSource不想使用多个组件,而要使用内部类。这是我的代码:

public class InnerClasses extends JPanel  { 

    static   JFrame frame ;     
    static JButton button ; 
    static  JLabel   label  ; 
    public static void main(String[] args) {    
        InnerClasses i=  new InnerClasses();    
        frame= new JFrame("Inner class");
        frame.setSize(400,400);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    
        frame.add(i);
        label = new JLabel(BorderLayout.NORTH);
        label.setText("I m label");
        i.add(label);    
        button = new JButton(BorderLayout.SOUTH);
        button.setText("Click me ");
        button.addActionListener(new  innerclass() );
        i.add(button);
        frame.setVisible(true);
    }

    class  innerclass implements ActionListener {

        @Override
        public void actionPerformed(ActionEvent arg0) {    
            label.setText("i have been changed");
        }    
    }

现在,当我尝试将监听器注册到按钮时,它给出了错误

无法访问InnerClasses类型的封闭实例。必须使用类型为InnerClasses的封闭实例来限定分配(例如xxnew A(),其中x是InnerClasses的实例)。

如果我在做一些与语法无关的事情或这里出了什么问题,请帮助我

mKorbel
  • 要基于Oracle教程和良好实践创建需要某种层次结构的任何GUI ,代码顺序可能很重要

  • 不要在主要方法中创建任何Swing GUI对象

  • 我找不到任何理由在Java中声明任何静态内容

例如

import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class InnerClasses {

    private JFrame frame;
    private JPanel panel;
    private JButton button;
    private JLabel label;

    public InnerClasses() {
        label = new JLabel();
        label.setText("I m label");
        button = new JButton();
        button.setText("Click me ");
        button.addActionListener(new MyActioListener());
        panel = new JPanel();
        panel.add(label);
        panel.add(button);
        frame = new JFrame("Inner class");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(panel);
        frame.setSize(400, 400);
        frame.setVisible(true);
    }

    class MyActioListener implements ActionListener {

        @Override
        public void actionPerformed(ActionEvent arg0) {
            label.setText("i have been changed");
        }
    }

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                InnerClasses innerClasses = new InnerClasses();
            }
        });
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Java中,为什么在内部类上使用泛型不起作用?

来自分类Dev

如果PHP中的警报在内部不起作用

来自分类Dev

SpookyJS:Console.log在内部不起作用

来自分类Dev

嵌套在内部的for循环...但不起作用

来自分类Dev

在内部环境中重新调整似乎不起作用

来自分类Dev

z索引在内部位置固定元素中不起作用

来自分类Dev

Preg_match在内部表中不起作用?

来自分类Dev

z索引在内部位置固定元素中不起作用

来自分类Dev

如果在内部类中访问的方法中定义的内部类要求在方法中声明的变量是最终的,

来自分类Dev

scikit中的k均值向量在内部学习归一化还是TfidfVectorizer归一化不起作用?

来自分类Dev

scikit中的k均值向量在内部学习归一化还是TfidfVectorizer归一化不起作用?

来自分类Dev

为什么在内部类中C#找不到动态的接口方法?

来自分类Dev

在内部类中访问for循环变量

来自分类Dev

如何在内部类Android中访问变量

来自分类Dev

如何在内部类Android中访问变量

来自分类Dev

在内部类 Kotlin 中获取外部值

来自分类Dev

Angular ng-table动态标头在内部不起作用

来自分类Dev

JS:如果陈述不起作用,则在内部分配

来自分类Dev

在内部存储中保存/读取位图不起作用

来自分类Dev

匿名内部类方法的覆盖不起作用

来自分类Dev

显示/隐藏div并仍在内部内容中起作用-HTML / JS

来自分类Dev

如果在内部类中访问,则在方法中定义的内部类要求在该方法中声明的变量是最终变量。

来自分类Dev

Dapper:如何在内部类模型中映射表中的列?

来自分类Dev

PHP函数-在函数外部起作用,但不在内部起作用

来自分类Dev

Java-在内部类的子类中绑定通用类参数

来自分类Dev

在内部类中访问变量“名称”。需要宣布为最终

来自分类Dev

当向量在内部类中时,如何删除指向对象的向量指针

来自分类Dev

如何在内部类中更改局部变量的值?

来自分类Dev

通过在内部类中实现Comparable提供多个排序选项

Related 相关文章

  1. 1

    在Java中,为什么在内部类上使用泛型不起作用?

  2. 2

    如果PHP中的警报在内部不起作用

  3. 3

    SpookyJS:Console.log在内部不起作用

  4. 4

    嵌套在内部的for循环...但不起作用

  5. 5

    在内部环境中重新调整似乎不起作用

  6. 6

    z索引在内部位置固定元素中不起作用

  7. 7

    Preg_match在内部表中不起作用?

  8. 8

    z索引在内部位置固定元素中不起作用

  9. 9

    如果在内部类中访问的方法中定义的内部类要求在方法中声明的变量是最终的,

  10. 10

    scikit中的k均值向量在内部学习归一化还是TfidfVectorizer归一化不起作用?

  11. 11

    scikit中的k均值向量在内部学习归一化还是TfidfVectorizer归一化不起作用?

  12. 12

    为什么在内部类中C#找不到动态的接口方法?

  13. 13

    在内部类中访问for循环变量

  14. 14

    如何在内部类Android中访问变量

  15. 15

    如何在内部类Android中访问变量

  16. 16

    在内部类 Kotlin 中获取外部值

  17. 17

    Angular ng-table动态标头在内部不起作用

  18. 18

    JS:如果陈述不起作用,则在内部分配

  19. 19

    在内部存储中保存/读取位图不起作用

  20. 20

    匿名内部类方法的覆盖不起作用

  21. 21

    显示/隐藏div并仍在内部内容中起作用-HTML / JS

  22. 22

    如果在内部类中访问,则在方法中定义的内部类要求在该方法中声明的变量是最终变量。

  23. 23

    Dapper:如何在内部类模型中映射表中的列?

  24. 24

    PHP函数-在函数外部起作用,但不在内部起作用

  25. 25

    Java-在内部类的子类中绑定通用类参数

  26. 26

    在内部类中访问变量“名称”。需要宣布为最终

  27. 27

    当向量在内部类中时,如何删除指向对象的向量指针

  28. 28

    如何在内部类中更改局部变量的值?

  29. 29

    通过在内部类中实现Comparable提供多个排序选项

热门标签

归档