java初学,请排错,谢谢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java初学,请排错,谢谢相关的知识,希望对你有一定的参考价值。

与例子程序对比过,没有区别,可是不知道为什么main()会有错,还请前辈指教

import java.awt.*;

public class TestMultiPanel


public static void main(String[] args)

new MyFrame("Frame with Pane",300,300,400,400);



class MyFrame extends Frame

private Panel p1,p2,p3,p4;
MyFrame(String s,int x,int y,int w,int h)

super(s);
setBounds(x,y,w,h);
setVisible(true);
p1.setBounds(0,0,w/2, h/2);
p1.setBackground(Color.black);
p2.setBounds(w/2, 0, w/2, h/2);
p2.setBackground(Color.blue);
p3.setBounds(0, h/2, w/2, h/2);
p3.setBackground(Color.LIGHT_GRAY);
p4.setBounds(w/2, h/2, w/2, h/2);
add(p1);add(p2);add(p3);add(p4);
setLayout(null);




//No enclosing instance of type TestMultiPanel is accessible. Must qualify the allocation with an enclosing instance of type TestMultiPanel (e.g. x.new A() where x is an instance of TestMultiPanel).

at TestMultiPanel.main(TestMultiPanel.java:9)

大括号的位置错了,应该把最后一个右大括号放在class MyFrame extends Frame之前,因为你这里有两个类,你错把MyFrame类放在了TestMultiPanel的里面了

还有就是p1,p2,p3,p4要new出对象出来,不然没法显示p1,p2,p3,p4,
”private Panel p1,p2,p3,p4;“改成如下:

Panel p1 = new Panel();
Panel p2 = new Panel();
Panel p3 = new Panel();
Panel p4 = new Panel();
参考技术A 没有任何类型 TestMultiPanel 的外层实例可访问。必须用类型 TestMultiPanel 的外层实例(例如,x.new A(),其中 x 是 TestMultiPanel 的实例)来限定分配。
虽然我不懂怎么改 但是错误是这个
参考技术B jre->java kit->J2SE->J2EE->framework->AJAX 参考技术C 太多了,手机上不好看!

记录一次用命令行排错的过程

详见我的有道云笔记:点击此处跳转 。有问题请在下面留言。谢谢

本文出自 “李晓东” 博客,请务必保留此出处http://lixiaodong2016.blog.51cto.com/11693292/1909767

以上是关于java初学,请排错,谢谢的主要内容,如果未能解决你的问题,请参考以下文章

偶是一名java初学者,请问一下,如何理解静态方法和动态方法,并且如何使用?

我是java初学者,怎么在命令符中输出九九乘法表?请把代码给我谢谢。

Eclipse怎么用(初学者)

Java中的算术运算符(初学者问题)

如何学好java语言啊?

初学 Java Web 开发,请远离各种框架,从 Servlet 开发