这是我到目前为止编写的代码,以及我收到的错误.我确定我之前没有错误地完成了类似的代码.我很确定我错过了一些愚蠢的东西,但我无法弄明白或在网上找到任何东西.
import javax.swing.*;
import java.awt.*;
public class MyFrame extends JFrame {
JPanel mainPanel = new JPanel();
JButton editButton = new JButton("Edit");
JPanel.add(editButton);
}
Run Code Online (Sandbox Code Playgroud)
错误:
Syntax error on token(s), misplaced construct(s) - for the underlined '.'
on the last line
Syntax error on token "editButton", VariableDeclaratorId expected after this
token - for the underlined parameter within the brackets on the last line.
Run Code Online (Sandbox Code Playgroud)
您正试图使用它,就像它是一个静态方法 - 您希望将面板添加到哪个面板?你需要调用它上了mainPanel:
mainPanel.add(editButton);
Run Code Online (Sandbox Code Playgroud)
但是,你不能在类声明中这样做 - 像这样的语句必须在方法或构造函数中.所以你可能想要:
import javax.swing.*;
import java.awt.*;
public class MyFrame extends JFrame {
JPanel mainPanel = new JPanel();
JButton editButton = new JButton("Edit");
public MyFrame() {
mainPanel.add(editButton);
}
}
Run Code Online (Sandbox Code Playgroud)
或者可能将所有初始化放入构造函数中,并将变量设为final和private:
import javax.swing.*;
import java.awt.*;
public class MyFrame extends JFrame {
private final JPanel mainPanel;
private final JButton editButton;
public MyFrame() {
mainPanel = new JPanel();
editButton = new JButton("Edit");
mainPanel.add(editButton);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2521 次 |
| 最近记录: |