Java代码不工作,在eclipse上给了我一个错误
eclipse给我的唯一错误是:Java代码不工作,在eclipse上给了我一个错误,java,swing,Java,Swing,eclipse给我的唯一错误是:此项目中存在错误。在我添加新类之前,代码运行良好 代码: 您的错误是:“无法引用非最终变量帧 在不同方法中定义的内部类中。“ 您可以通过将frame定义为final来修复它 final JFrame=new JFrame() 这是编译时的问题。那么您可能需要 如果代码没有达到预期效果,请进一步修复代码 您的错误是:“无法引用非最终变量帧 在不同方法中定义的内部类中。“ 您可以通过将frame定义为final来修复它 final JFrame=new JFrame(
此项目中存在错误。在我添加新类之前,代码运行良好
代码:
您的错误是:“无法引用非最终变量帧
在不同方法中定义的内部类中。“
您可以通过将frame
定义为final来修复它
final JFrame=new JFrame()代码>
这是编译时的问题。那么您可能需要
如果代码没有达到预期效果,请进一步修复代码 您的错误是:“无法引用非最终变量帧
在不同方法中定义的内部类中。“
您可以通过将frame
定义为final来修复它
final JFrame=new JFrame()代码>
这是编译时的问题。那么您可能需要
如果代码没有达到预期效果,请进一步修复代码 你读到错误了吗?你不能在你的主方法中定义一个新的类。@tobias_k,我可以问一下吗(特别是例子8.1.3-2.内部类声明)?我最初也这么认为,但我只是测试了一下,这是可能的。不是我最喜欢的java功能…@Boristeider哦,天哪,我不知道这个功能。谢谢你指出。你读到错误了吗?你不能在你的主方法中定义一个新的类。@tobias_k,我可以问一下吗(特别是示例8.1.3-2.内部类声明)?我最初也这么认为,但我只是测试了一下,这是可能的。不是我最喜欢的java功能…@Boristeider哦,天哪,我不知道这个功能。谢谢您指出。我认为带有frame.add
的行只属于另一行(直接在main方法中),那么frame
不需要是final
,还有。@tobias_k你完全正确-创建一个新HelloComponent
并在每次调用paint
时将其添加到框架中可能不是OP的意图。我认为带有frame.add
的行只属于另一行(直接在主方法中),那么框架
也不需要是最终的
。@tobias_k你完全正确-创建一个新的Hello组件
,并在每次调用绘制
时将其添加到框架
,这可能不是OP的意图。
import javax.swing.*;
import java.awt.*;
public class Helloworld {
public static void main(String[]args){
JFrame frame = new JFrame ();
class HelloComponent extends JComponent{
public void paintComponent (Graphics g){
g.drawString("Hello, Java", 123, 95);
frame.add(new HelloComponent());
}
}
}
}