[英]Some doubts about a simple Swing listener code
I am studying Java Swing and listener use and I have some problems with the following simple code: 我正在研究Java Swing和侦听器的使用,并且以下简单代码有一些问题:
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);
}
In this code I declare a listener class and I try to create a JFrame and a JButton objects. 在这段代码中,我声明了一个侦听器类,并尝试创建一个JFrame和一个JButton对象。
The problem is that when I try to add some properties to these objects by the lines: 问题是当我尝试通过以下行向这些对象添加一些属性时:
frame.setMinimumSize(new Dimension(800, 400));
and 和
button.addActionListener(listener);
Eclipse sign me the following error on these 2 lines: Eclipse在这两行上为我签名了以下错误:
Multiple markers at this line - Syntax error on token(s), misplaced construct(s) - Syntax error on token "setMinimumSize", = expected after this
这行有多个标记-令牌语法错误,构造放置错误-令牌“ setMinimumSize”语法错误,=此后预期
What is wrong? 怎么了?
Tnx 特纳克斯
Andrea 安德里亚
These statements should be in a code block such as a method a constructor 这些语句应位于代码块中,例如方法,构造函数
JFrame frame = new JFrame("FrameDemo");
frame.setMinimumSize(new Dimension(800, 400));
JButton button = new JButton("Cliccami");
MyButtonListener listener = new MyButtonListener();
button.addActionListener(listener);
In addition you want to invoke them in the EDT
like so 另外,您希望像这样在
EDT
调用它们
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);
}
});
Read: Initial Threads 阅读: 初始线程
In java, you can not initialize instance without or outside of method. 在Java中,如果没有方法或不在方法外部,则无法初始化实例。
put following of your code in a method. 将您的代码跟随在一个方法中。
JFrame frame = new JFrame("FrameDemo");
frame.setMinimumSize(new Dimension(800, 400));
JButton button = new JButton("Cliccami");
MyButtonListener listener = new MyButtonListener();
button.addActionListener(listener);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.