Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JPanel内声明serialVersionUID时发生Java错误_Java_Swing_Jpanel_Jscrollpane_Serialversionuid - Fatal编程技术网

在JPanel内声明serialVersionUID时发生Java错误

在JPanel内声明serialVersionUID时发生Java错误,java,swing,jpanel,jscrollpane,serialversionuid,Java,Swing,Jpanel,Jscrollpane,Serialversionuid,我得到了这个错误,这是真的让我感到沮丧,从这个脚本位 JPanel menu = new JPanel() { private static final long serialVersionUID = 1L; JTextArea output = new JTextArea(5, 30) { /** * */

我得到了这个错误,这是真的让我感到沮丧,从这个脚本位

    JPanel menu = new JPanel() {
            private static final long serialVersionUID = 1L;
            JTextArea output = new JTextArea(5, 30) {

                /**
                 * 
                 */
                private static final long serialVersionUID = 4714318125998709253L;
                this.setEditable(false);
            };
            JScrollPane scrollPane = new JScrollPane(output);

//          public void run() {
//              System.out.println("lol");
//              JPanel menu = this;
//              JButton restart = new JButton("Restart");
//              menu.add(restart);
//          }

        };
我试图在JTextArea输出中声明setEditable。。。有什么想法吗

编辑: 错误是:

Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problem: 
    Syntax error on token ";", < expected

    at citadelRPG.Server.createAndShowGUI(Server.java:94)
    at citadelRPG.Server.access$0(Server.java:16)
    at citadelRPG.Server$1.run(Server.java:162)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$000(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
线程“AWT-EventQueue-0”java.lang中出现异常。错误:未解决的编译问题: 令牌“;”上的语法错误,<应为 位于citadelRPG.Server.createAndShowGUI(Server.java:94) 在citadelRPG.Server.access$0(Server.java:16) 服务器$1.run(Server.java:162) 在java.awt.event.InvocationEvent.dispatch(未知源)处 位于java.awt.EventQueue.dispatchEventImpl(未知源) 位于java.awt.EventQueue.access$000(未知源) 在java.awt.EventQueue$3.run处(未知源) 在java.awt.EventQueue$3.run处(未知源) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.security.ProtectionDomain$1.doIntersectionPrivilege(未知源) 位于java.awt.EventQueue.dispatchEvent(未知源) 位于java.awt.EventDispatchThread.pumpOneEventForFilters(未知源) 位于java.awt.EventDispatchThread.pumpEventsForFilter(未知源) 位于java.awt.EventDispatchThread.pumpEventsForHierarchy(未知源) 位于java.awt.EventDispatchThread.pumpEvents(未知源) 位于java.awt.EventDispatchThread.pumpEvents(未知源) 位于java.awt.EventDispatchThread.run(未知源) 出现在声明serialVersionUID的分号上。

语句

this.setEditable(false);
需要在方法、静态初始值设定项或构造函数中,而不是在
JTextArea
输出的匿名实现的类块中。如果您确实希望在
output
类中使用此实现,则可以重写
isEditable

@Override
public boolean isEditable() {
   return false;
}
声明

this.setEditable(false);
需要在方法、静态初始值设定项或构造函数中,而不是在
JTextArea
输出的匿名实现的类块中。如果您确实希望在
output
类中使用此实现,则可以重写
isEditable

@Override
public boolean isEditable() {
   return false;
}

This
This.setEditable(false)需要在构造函数或方法的上下文中定义。不能在这些上下文之外调用它

我发现人们坚持以这种方式实现类是非常奇怪的,但那只是我

您没有向
JPanel
添加新功能,那么为什么不创建它,一个
JTextarea
,一个
JScrollPane
,然后将它们一起添加。它将使您的代码更具可读性,并解决像这样愚蠢的错误

就个人而言,更好的解决方案是

JPanel menu = new JPanel() {
    private static final long serialVersionUID = 1L;
};
JTextArea output = new JTextArea(5, 30) {
    private static final long serialVersionUID = 4714318125998709253L;
};
output.setEditable(false);
JScrollPane scrollPane = new JScrollPane(output);
menu.add(scrollPane);

This
This.setEditable(false)需要在构造函数或方法的上下文中定义。不能在这些上下文之外调用它

我发现人们坚持以这种方式实现类是非常奇怪的,但那只是我

您没有向
JPanel
添加新功能,那么为什么不创建它,一个
JTextarea
,一个
JScrollPane
,然后将它们一起添加。它将使您的代码更具可读性,并解决像这样愚蠢的错误

就个人而言,更好的解决方案是

JPanel menu = new JPanel() {
    private static final long serialVersionUID = 1L;
};
JTextArea output = new JTextArea(5, 30) {
    private static final long serialVersionUID = 4714318125998709253L;
};
output.setEditable(false);
JScrollPane scrollPane = new JScrollPane(output);
menu.add(scrollPane);