Java Frame 类的用法
publicstaticvoidmain(String[]args){ Framef=newFram...
public static void main(String[] args) { Frame f=new Frame(); f.setBounds(100,100,300,300); f.setVisible(true); Button b=new Button("BB"); Panel p=new Panel(); p.add(b); f.add(p); // ←下面错误中 指出在这行出错 }// 以上是我的代码 但是出现了错误 以下是错误的描述 : Exception in thread "main" java.lang.IllegalArgumentException: adding a window to a container at java.awt.Container.addImpl(Unknown Source) at java.awt.Container.add(Unknown Source) at com.Panel.main(Panel.java:22) 我英语水平太低。。。。。请问 这错误是什么原因?? 该怎么改代码? 还有 我的panel 面板 为什么 加不到窗口上去?窗口空白一片如果将 f.setVisible(true); 这一句放到最后 连空白窗口都不出现了 这又是为什么??高手救我............................
展开
展开全部
原因在你你的class名字就是Panel.java和java.awt.Panel同名了,JVM默认搜索从本类开始,修改
import java.awt.Button;
import java.awt.Frame;
public class Panel {
/**
* @param args
*/
public static void main(String[] args) {
Frame f = new Frame();
f.setBounds(100, 100, 300, 300);
Button b = new Button("BB");
java.awt.Panel p = new java.awt.Panel();
p.add(b);
f.add(p);
f.setVisible(true);
}
}
import java.awt.Button;
import java.awt.Frame;
public class Panel {
/**
* @param args
*/
public static void main(String[] args) {
Frame f = new Frame();
f.setBounds(100, 100, 300, 300);
Button b = new Button("BB");
java.awt.Panel p = new java.awt.Panel();
p.add(b);
f.add(p);
f.setVisible(true);
}
}
展开全部
恩 你这个架包得引用是个神马情况,你刚刚开始学java最好是开始模仿,并且要学会每一条语句的作用,而不是只要把老师教的学好就可以了.......适当的扩展下还是有好处的
你的这个问题估计是在你的类名和java中固定的类名重复了,就是Panel.java和java.awt.Panel。
你的这个问题估计是在你的类名和java中固定的类名重复了,就是Panel.java和java.awt.Panel。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2017-09-18 · 知道合伙人软件行家
关注
展开全部
Frame 是带有标题和边框的顶层窗口。
窗体的大小包括为边框指定的所有区域。边框区域的尺寸可以使用 getInsets 方法获得,但是,由于这些尺寸与平台相关,因此在通过调用pack 或 show 将窗体设置为可显示之前,将无法获得有效的 insets 值。由于窗体的总大小包括了边框区,因此边框实际上遮掩了窗体的部分区域,并将可用于在矩形中呈现和/或显示子部件的区域限制在一个矩形内,该矩形左上角的位置为 (insets.left, insets.top),宽度为 width - (insets.left + insets.right),长度为 height - (insets.top + insets.bottom)。
窗体的默认布局为 BorderLayout。
使用 setUndecorated,窗体可以关闭本机装饰(即 Frame 和 Titlebar)。但只有在窗体不是 displayable 时才能这样做。
在多屏幕环境中,通过使用 Frame(GraphicsConfiguration) 或 Frame(String title, GraphicsConfiguration) 构造 Frame,可以在不同的屏幕设备上创建 Frame。GraphicsConfiguration 对象是目标屏幕设备的 GraphicsConfiguration 对象之一。
窗体的大小包括为边框指定的所有区域。边框区域的尺寸可以使用 getInsets 方法获得,但是,由于这些尺寸与平台相关,因此在通过调用pack 或 show 将窗体设置为可显示之前,将无法获得有效的 insets 值。由于窗体的总大小包括了边框区,因此边框实际上遮掩了窗体的部分区域,并将可用于在矩形中呈现和/或显示子部件的区域限制在一个矩形内,该矩形左上角的位置为 (insets.left, insets.top),宽度为 width - (insets.left + insets.right),长度为 height - (insets.top + insets.bottom)。
窗体的默认布局为 BorderLayout。
使用 setUndecorated,窗体可以关闭本机装饰(即 Frame 和 Titlebar)。但只有在窗体不是 displayable 时才能这样做。
在多屏幕环境中,通过使用 Frame(GraphicsConfiguration) 或 Frame(String title, GraphicsConfiguration) 构造 Frame,可以在不同的屏幕设备上创建 Frame。GraphicsConfiguration 对象是目标屏幕设备的 GraphicsConfiguration 对象之一。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for test~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询