[英]invalid method declaration, return type required, on a GUI
因此,我试图制作一个简单的 GUI,当您单击其中的按钮时,它会上升一个。 但是,当我尝试运行测试 GUI 时出现此错误:错误。 这是代码
import javax.swing.JFrame;
import javax.swing.BorderFactory;
import javax.swing.JPanel;
public class Main {
public GUI() {
JFrame frame = new JFrame();
JPanel panel = new JPanel();
panel.setBorder(borderFactory.createEmptyBorder(30, 30, 10, 30));
panel.setLayout(new GridLayout(0, 1));
frame.add(panel, BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("Clicks");
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
new GUI();
}
}
public class Main {
public GUI() {
GUI
似乎打算用作构造函数,并且构造函数必须与 class 具有相同的名称。 但是GUI
和Main
都不是 class / 构造函数的好的描述性名称。 该名称应该描述 class 实际上是。 所以这里的东西可能不仅更好,而且应该适用于这种情况。
public class ClicksGUI {
public ClicksGUI() {
请注意,如果更改 class / 构造函数的名称,则main
方法中的引用也需要更改以反映这一点。
如果您希望GUI
成为 function,您必须指定一个return type
(我想您希望在您的情况下为void
),并像常规 function 一样调用它,而不是创建 ZA8CFDE6331BD59EB26696F8911ZCB:
public class Main {
public static void GUI() {
JFrame frame = new JFrame();
JPanel panel = new JPanel();
panel.setBorder(borderFactory.createEmptyBorder(30, 30, 10, 30));
panel.setLayout(new GridLayout(0, 1));
frame.add(panel, BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("Clicks");
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
GUI();
}
}
添加void
作为 GUI 方法的返回类型
public class Main {
public static void GUI() {
.....
}
}
并将其作为 main() 方法中的方法调用。
public static void main(String[] args) {
GUI();
}
Java 需要方法的返回类型。 如果您不想指定返回类型,请改用构造函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.