当前位置: 首页 > 知识库问答 >
问题:

我不知道我做错了什么。 [Java][关闭]

夹谷岳
2023-03-14

我开始在Java和我的控制台吐出一些奇怪的错误。 (我正在尝试制作一个GUI)如果我得到这个答案,我将编辑这个使用Eclipse IDE为Java开发人员这是我第一次在论坛上张贴,所以告诉我我可以改进什么!

代码:

import java.awt.BorderLayout;
import java.awt.GridLayout;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class main {
    
    public class 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("Testing");
        frame.pack();
        frame.setVisible(true);
    }

    
     public static void main(String[] args) {
        new GUI();
  }

}

答案如下:

main.java:12: error: <identifier> expected
        panel.setBorder(BorderFactory.createEmptyBorder(30, 30, 10, 30));
                       ^
main.java:12: error: <identifier> expected
        panel.setBorder(BorderFactory.createEmptyBorder(30, 30, 10, 30));
                                                       ^
main.java:13: error: <identifier> expected
        panel.setLayout(new GridLayout(0, 1));
                       ^
main.java:13: error: illegal start of type
        panel.setLayout(new GridLayout(0, 1));
                        ^
main.java:15: error: <identifier> expected
        frame.add(panel, BorderLayout.CENTER);
                 ^
main.java:15: error: <identifier> expected
        frame.add(panel, BorderLayout.CENTER);
                       ^
main.java:15: error: <identifier> expected
        frame.add(panel, BorderLayout.CENTER);
                                            ^
main.java:16: error: <identifier> expected
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                                      ^
main.java:16: error: <identifier> expected
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                                                           ^
main.java:17: error: <identifier> expected
        frame.setTitle("Testing");
                      ^
main.java:17: error: illegal start of type
        frame.setTitle("Testing");
                       ^
main.java:18: error: <identifier> expected
        frame.pack();
                  ^
main.java:19: error: <identifier> expected
        frame.setVisible(true);
                        ^
main.java:19: error: illegal start of type
        frame.setVisible(true);
                         ^
14 errors
error: compilation failed

Java版本:

openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-2ubuntu218.04)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-2ubuntu218.04, mixed mode)

共有3个答案

秦永望
2023-03-14

这里有点乱。

但是修复取决于您认为您正在尝试做什么。。。GUI的事情。

>

  • 如果您试图在main类中声明一个GUI类,那么问题是内部的GUI类包含可执行语句。 类只能包含成员; 即字段,方法,嵌套类和其他一些东西。 而不是陈述。

    如果您试图声明一个构造函数,那么:

    • 构造函数名称必须与类的名称匹配(您已将类调用为main),并且
    • 不应该有class关键字。

    还有。 你应该符合Java类名的标准。 类名不应以小写字母开头; 即类名main应该是main(也可以是gui)。

    这与Java版本无关,您将在Eclipse或任何其他IDE中遇到同样的问题。 这些是Java编译错误,你的代码在Java的所有版本中都是不正确的。

  • 归俊捷
    2023-03-14

    将外部类重命名为GUI,以匹配类的实例化方式

    public class GUI {
        
        public GUI { // no 'class' keyword here
          ...
        }
    }
    
    子车劲
    2023-03-14

    您应该将代码放在构造函数中,而不是内部类中。

    public class GUI{
         public GUI(){
              //your code here
         }
    }
    
     类似资料:
    • 我正在做一个项目,我的意图是运行一个玉米作业,并发送邮件给我的朋友,祝他们生日,我能够从MySQL DB获取电子邮件,并将其与当前日期进行比较,但当涉及到发送电子邮件时,我得到NullPointerException。 我确信应用程序属性没有问题,我在其他项目中也使用了它们,它们的功能正常 这是我得到以下信息的错误

    • 问题内容: 我有一些代码来计算圆的属性: 它计算周长,但不计算其余部分。 问题答案: 是一个,也一个,这意味着不能在第二个打印语句中使用。试试那里。 回想一下,这是浮点数,而整数。在的文档中对此进行了概述(请参阅“ 格式化字符串语法”)。

    • 我想使它从“游戏26”类到“游戏39”类,如果用户经历了从“游戏17”类到“游戏18”类。但如果用户没有通过,要使从“Game26”类到“Game30”类。

    • 我拿不到输出。。有人能帮我得到输出吗 下面给出了程序运行的示例(注意:下面的粗体文本是用户输入的输入): 进入三角形的三个边

    • 11:15:57创建表如果不存在tblcompany(companyid INT(11)无符号NOT NULL,custfirst VARCHAR(50),custlast VARCHAR(50),company VARCHAR(50),custphone VARCHAR(50), custemail VARCHAR(50),主键(companyid),索引(companyid),约束外键(com

    • 我们有一个稍微长大的Spring webapp(在tomcat 7上),关机非常慢。(这对我们持续交付的性能有负面影响) 我的怀疑是,在@PreDestroy方法中肯定有一些bean被阻塞(或占用了很长时间)。 到目前为止,我通过给每个池、线程和计时器指定不同的名称,并确保它们要么是守护进程线程,要么被正确关闭,从而确保它与未正确关闭的线程(池)无关。 有没有人解决了这样的情况,并能给我一个如何应

    • 给定一个0和1的数组,我们最多可以将K个值从0更改为1。 返回仅包含1的最长(连续)子数组的长度。 例1: 例2: 注: https://leetcode.com/problems/max-consecutive-ones-iii/ 这是问题链接。在第一个测试用例中,我得到了输出9,但应该是6。我不知道哪里出了问题?

    • 想改进这个问题吗 通过编辑此帖子,添加详细信息并澄清问题。 谁能告诉我我做什么?这不起作用