62,620
社区成员
发帖
与我相关
我的任务
分享package chapter13;
import java.awt.*;
import javax.swing.*;
public class C131
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
class myframe extends JFrame
{
myframe()
{
JFrame jf=new JFrame();
this.setSize(500, 500);
Container con=jf.getContentPane();
JCheckBox c1=new JCheckBox("男");
JCheckBox c2=new JCheckBox("女");
JButton b1=new JButton("确定");
JButton b2=new JButton("取消");
String str[]= {"红","黄","绿","蓝"};
@SuppressWarnings({ "rawtypes", "unchecked" })
JComboBox jcb=new JComboBox(str);
setLayout(new GridLayout(3,1,50,50));
JPanel p1=new JPanel();
JPanel p2=new JPanel(new GridLayout(1,2,50,50));
JPanel p3=new JPanel(new GridLayout(1,2,50,50));
p1.add( jcb);//下拉列表
p2.add(c1, c2);
p3.add(b1, b2);
con.add(p1);
con.add(p2);
con.add(p3);
this.setVisible(true);
}
}
new myframe();
}
}
你的构建方法构建了两个JFrame窗口 一个是继承自JFrame 的myframe来自默认的super(), 一个是你new出来的jf,你在jf里面找容器然后添加组件 但让他继续不可见 ,让myframe可见 但是myframe是空的 没有任何组件
继承之后 进行构建的时候回默认运行一个父类的构造方法 所以不用再new一个新的JFrame 直接在this里面操作就可以 