为什么eclipse会在这里产生语法错误?

Chr*_*ian 2 java syntax

我的代码:

import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.*;

public class TAFrame {

    private JFrame mainFrame;
    private JPanel mainPanel;
    private JButton button;
    private JTextArea textArea; //eclipse say Syntax error } expected


    mainFrame = new JFrame("mainFrame");
    mainPanel = new JPanel();
    button = new JButton("click me");
    area = new JTextArea(10, 15); 


}
Run Code Online (Sandbox Code Playgroud)

无法找到解决方案,但我认为这很容易让人尴尬:/

Sim*_*erg 5

我相信你想把一些代码放在构造函数中,如下所示:

public class TAFrame {

    private JFrame mainFrame;
    private JPanel mainPanel;
    private JButton button;
    private JTextArea textArea;

    public TAFrame() {
       mainFrame = new JFrame("mainFrame");
       mainPanel = new JPanel();
       button = new JButton("click me");
       area = new JTextArea(10, 15); 
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是你试图在任何方法之外执行任意代码.声明字段后,您需要通过方法访问它.只能在同一行上初始化它,因此您可以执行以下操作:

public class TAFrame {

    private JFrame mainFrame = new JFrame("mainFrame");
    private JPanel mainPanel = new JPanel();
    private JButton button = new JButton("click me");
    private JTextArea textArea = new JTextArea(10, 15); 
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我建议使用构造函数方法,但无论如何,您最需要构造函数,因为您可能希望向按钮添加actionlistener(例如).