Java 关于简单Swing侦听器代码的一些疑问

Java 关于简单Swing侦听器代码的一些疑问,java,swing,awt,Java,Swing,Awt,我正在研究Java Swing和listener的使用,我对以下简单代码有一些问题: package com.mycompany.experiment; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; public class Li

我正在研究Java Swing和listener的使用,我对以下简单代码有一些问题:

package com.mycompany.experiment;

import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;

public class ListenerExp1 {

    private class MyButtonListener implements ActionListener {
        public void actionPerformed(ActionEvent evt) {
            // Qui scriviamo il codice che vogliamo eseguire all' azione del
            // click sul pulsante
        }
    }

    JFrame frame = new JFrame("FrameDemo");
    frame.setMinimumSize(new Dimension(800, 400));

    JButton button = new JButton("Cliccami");
    MyButtonListener listener = new MyButtonListener();

    button.addActionListener(listener);

}
在这段代码中,我声明了一个侦听器类,并尝试创建一个JFrame和一个JButton对象

问题是,当我尝试通过线条向这些对象添加某些属性时:

frame.setMinimumSize(new Dimension(800, 400));

Eclipse在这两行上为我签名以下错误:

这条线上有多个标记 -令牌上的语法错误,构造位置错误 -标记“setMinimumSize”上的语法错误,=在此之后应为

怎么了

Tnx


Andrea

这些语句应该位于代码块中,例如方法和构造函数

JFrame frame = new JFrame("FrameDemo");
frame.setMinimumSize(new Dimension(800, 400));

JButton button = new JButton("Cliccami");
MyButtonListener listener = new MyButtonListener();

button.addActionListener(listener);
此外,您希望以类似的方式调用它们


阅读:

在java中,您不能在没有方法或方法之外初始化实例

将以下代码放入方法中

JFrame frame = new JFrame("FrameDemo");
frame.setMinimumSize(new Dimension(800, 400));

JButton button = new JButton("Cliccami");
MyButtonListener listener = new MyButtonListener();

button.addActionListener(listener);

或者在构造函数中,是的。
SwingUtilities.invokeLater(new Runnable() {

        @Override
        public void run() {
            JFrame frame = new JFrame("FrameDemo");
            frame.setMinimumSize(new Dimension(800, 400));

            JButton button = new JButton("Cliccami");
            MyButtonListener listener = new MyButtonListener();

            button.addActionListener(listener);
        }
    });
JFrame frame = new JFrame("FrameDemo");
frame.setMinimumSize(new Dimension(800, 400));

JButton button = new JButton("Cliccami");
MyButtonListener listener = new MyButtonListener();

button.addActionListener(listener);