java小程序,为何不显示按钮?

class MyFrame extends Frame {
MyFrame (String s, int x, int y, int w, int h, Color c) {
super(s);
setBounds(x, y, w, h);
setBackground (c);
Panel p = new Panel(null);
setLayout (new FlowLayout());
Button b = new Button("OK");
p.setBounds(w/4, h/4, w/2, h/2);
p.setBackground (Color.yellow);
p.add(b,BorderLayout.CENTER); //已经添加进去了,可是界面不显示Button,为何?
add(p);
setVisible (true);
}
}

位置不对,你的add(p)放在最后了,你把它放到panel p=new Panel()后面。望采纳追问

你的回答不行

追答

MyFrame(String s, int x, int y, int w, int h, Color c) {
super(s);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(x, y, w, h);
setBackground(c);
JPanel p = new JPanel();
JButton b = new JButton("OK");
add(p);
b.setBounds(30, 30, 30, 30);
p.add(b, BorderLayout.CENTER);
setLayout(new FlowLayout());
p.setBounds(w / 4, h / 4, w / 2, h / 2);
p.setBackground(Color.yellow);
setVisible(true);
}
你Panel p = new Panel(null);不行,把null去了!你再试试,我这段代码就可以

追问

我只是把null去掉,add(p)的位置不变,成功。但是请问,加null和不加null有何区别?从构造方法里讲吧。

追答

Panel p = new Panel(null);

等价于
JPanel panel=new JPanel();
panel.setLayout(null);
也就是说你定义一个panel,但是你不让它使用布局管理器(使用null布局),所以后面的你的BorderLayout.CENTER根本没用了。应该是这个意思,你可以再查查,帮到你了就采纳一下吧~

追问

class MyFrame extends Frame {
Panel p = new Panel(new BorderLayout());

setLayout (null);

Button b = new Button("OK");

p.add(b,BorderLayout.CENTER);

}

有的啰嗦代码省略了,运行结果为什么看不到panel的背景色?那个按钮OK位于窗口的正中,能看到Frame的背景色。

追答

panel的背景色你在哪设置了??我没看见啊!你再追问要扣你分了,hi我或者加Q

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-08-22
pack();要有这个追问

也不行,可能我放的位置不对。

JAVA小程序的离奇问题!添加Button及add.actionListener后,按键还是...
public void actionPerformed(ActionEvent e){ if(e.getSource()==btn1){ btn1.setBackground(Color.red);} else if(e.getSource()==btn2){ btn2.setBackground(Color.green);} 需要用getSourse来判断是哪个组件触发了事件,你再试试看看!

这个JAVA小程序错在哪里啊,怎么不显示呢?
那是因为你在没有设置窗口的大小之前就把组件放进去。所以看不见组件。。。也难怪。。

java小程序 按钮事件显示panel,为什么我要最大化一下才能显示
因为你最大化applet等于重新布置applet中的组件,而validate();语句有相同的作用。所以在actionPerformed函数中,注释掉repaint();和p1.setVisible(true);语句,加上 validate();语句就行了。完整的Java语言程序如下:import java.applet.Applet;import java.awt.BorderLayout;import java.awt.Button;import ...

java小程序中如何修改按钮的位置?
你的主Panel设置成borderlayout 然后 主Panel.add(放数字的Panel, BorderLayout.CENTER)主Panel.add(输出框, BorderLayout.NORTH)就可以了

浏览器怎么启用java?
选择安全选项卡,选择自定义级别按钮 向下滚动到Java小应用程序脚本 确保选中启用单选按钮 单击确定保存您的首选设置 Chrome 单击扳手图标,然后选择选项。依次选择高级选项和隐私内容设置。将显示“内容设置”面板。在插件部分,选择禁用单独插件链接以检查是否已启用Java 单击启用链接(如果显示“禁用”链接,则...

eclipse里写好的小Java程序怎么导出可运行的小程序?
4、出现如图所示界面,在name栏输入类名,点击Finish 5、在创建好的Helloworld.java文件中可写入如图所示的代码 6、点击下图中中间的那个绿色的按钮执行文件 7、出现如图所示的窗口,点击ok 8、在下面的窗口中可以看到输出了“helloworld”,程序执行成功 导入项目。当下载了包含Eclipse 项目的源代码文件后...

怎样禁止浏览器的Java小程序脚本运行?
解决方法如下:1、首先,打开电脑自带的ie浏览器,点击窗口右上方的设置图标,选择“Internet选项。2、接着,在弹出的对话框中,依次用鼠标单击选择安全——自定义级别的按钮。3、最后在弹出的页面中找到“Java 小程序脚本”、“活动脚本”,并分别选择这个选项下方的“禁用”,点击确定就成功解决了。

JAVA APPLET小程序怎么加BUTTOM?
JButton b = new JButton("按钮名字")然后 用你的面板的添加函数添加上就可以了,要设置一下按钮的位置之类的。具体怎么弄我就忘了……好多年没动java...

为什么我的电脑不能运行Java小程序脚本?
1、单击浏览器的设置图标,选择“Internet 选项”。2、选择“安全”选项卡,如下图所示。3、执行完上面的操作之后,单击“自定义级别”选项,如下图所示。4、在“Java小程序脚本”下,选择“启用”,单击“确定”保存即可,如下图所示。这样,以上的问题就解决了。

JAVA怎样区分应用程序和小程序
1、小程序 是可以在万维网浏览器内运行的小型 Java 程序。小程序 和 应用程序之间的主要差别是他们的运行方式不同。小程序可以运行的环境为:Netscape Navigator、Microsoft Internet Explore、Opera、HotJava以及appletviewer工具。为了使小程序运行,它必须使用 HTML 标记包含在网页上,使用方式与包含图形和...

相似回答