Java程序页面中如何在panel里添加panel!
1个回答
2013-10-31
展开全部
首先指出代码中一些不好的用法,比如:setLayout(null),
在我的java 1.4.2的环境中编译会出错。
实际上,应该使用this.getContentPane().setLayout();
这是JFrame和Frame不同的地方。
另外,在swing里面,也不推荐使用setVisible()来显示窗口,而应该使用show();
在我这里运行正常的代码如下:
/*
* Created on 2005-3-3
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.ubi.config.demo;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class aaa extends JFrame
{
aaa()
{
P1 p1=new P1();
P2 p2=new P2();
this.getContentPane().setLayout(null);
setBounds(200,200,500,300);
p1.setBounds(0,0,400,300);
getContentPane().add(p1);
p2.setBounds(400,0,100,300);
getContentPane().add(p2);
}
public static void main(String[] args)
{
aaa test=new aaa();
test.show();
}
//================================================
class P1 extends JPanel
{
P1()
{
btStart=new JButton( "111 ");
add(btStart);
}
private JButton btStart;
}
class P2 extends JPanel
{
P2()
{
btStart=new JButton( "222 ");
add(btStart);
}
private JButton btStart;
}
}//:-)
在我的java 1.4.2的环境中编译会出错。
实际上,应该使用this.getContentPane().setLayout();
这是JFrame和Frame不同的地方。
另外,在swing里面,也不推荐使用setVisible()来显示窗口,而应该使用show();
在我这里运行正常的代码如下:
/*
* Created on 2005-3-3
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.ubi.config.demo;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class aaa extends JFrame
{
aaa()
{
P1 p1=new P1();
P2 p2=new P2();
this.getContentPane().setLayout(null);
setBounds(200,200,500,300);
p1.setBounds(0,0,400,300);
getContentPane().add(p1);
p2.setBounds(400,0,100,300);
getContentPane().add(p2);
}
public static void main(String[] args)
{
aaa test=new aaa();
test.show();
}
//================================================
class P1 extends JPanel
{
P1()
{
btStart=new JButton( "111 ");
add(btStart);
}
private JButton btStart;
}
class P2 extends JPanel
{
P2()
{
btStart=new JButton( "222 ");
add(btStart);
}
private JButton btStart;
}
}//:-)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询