又显示不出来了~谁能告诉我为什么!要不我一会接着添加还不显示
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Test1 extends JFrame {
ButtonGroup bu=new ButtonGroup();//定义单选按钮为一个组
JRadioButton jr=new JRadioButton("蓝色",true);//定义一个单选按钮
JRadioButton jr1=new JRadioButton("红色");
JCheckBox ch=new JCheckBox("粗体");//定义一个复选按钮
JCheckBox ch1=new JCheckBox("斜体");
String[] s={"请选择字号","10","12","14","16","18","20","22"};//定义一个数组存储值
JList list=new JList(s);//定义一个列表框将字符串数组作为参数
JComboBox jcb=new JComboBox(s);//定义一个下拉列表框
JTextArea jt=new JTextArea(5,25);//定义一个文本域
public Test1(){
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("字体的应用");
this.setSize(400,300);
Container cp=this.getContentPane();
bu.add(jr);//将单选按钮添加到按钮组中
bu.add(jr1);
JPanel jp=new JPanel();
jp.add(jr);
jp.add(jr1);
jp.add(ch);
jp.add(ch1);
jp.add(jcb);
this.add(jp);
JPanel jp1=new JPanel();
jp1.setLayout(new BorderLayout());
jp1.add(jt,BorderLayout.WEST);
cp.add(jp1);
this.setVisible(true);
}
public static void main(String[] args) {
new Test1();
}}
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Test1 extends JFrame {
ButtonGroup bu=new ButtonGroup();//定义单选按钮为一个组
JRadioButton jr=new JRadioButton("蓝色",true);//定义一个单选按钮
JRadioButton jr1=new JRadioButton("红色");
JCheckBox ch=new JCheckBox("粗体");//定义一个复选按钮
JCheckBox ch1=new JCheckBox("斜体");
String[] s={"请选择字号","10","12","14","16","18","20","22"};//定义一个数组存储值
JList list=new JList(s);//定义一个列表框将字符串数组作为参数
JComboBox jcb=new JComboBox(s);//定义一个下拉列表框
JTextArea jt=new JTextArea(5,25);//定义一个文本域
public Test1(){
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("字体的应用");
this.setSize(400,300);
Container cp=this.getContentPane();
bu.add(jr);//将单选按钮添加到按钮组中
bu.add(jr1);
JPanel jp=new JPanel();
jp.add(jr);
jp.add(jr1);
jp.add(ch);
jp.add(ch1);
jp.add(jcb);
this.add(jp);
JPanel jp1=new JPanel();
jp1.setLayout(new BorderLayout());
jp1.add(jt,BorderLayout.WEST);
cp.add(jp1);
this.setVisible(true);
}
public static void main(String[] args) {
new Test1();
}}
另外,你的代码那样写好象本身就有问题.为什么要在main函数里创建它自己的实例呢?我把你的代码稍微调整了一下,增加了一个单独的公共类,你的那个类我去掉了main函数.import java.awt.*;
import javax.swing.*;
import java.awt.event.*;class test1 extends JFrame {
ButtonGroup bu = new ButtonGroup();// 定义单选按钮为一个组 JRadioButton jr = new JRadioButton("蓝色", true);// 定义一个单选按钮 JRadioButton jr1 = new JRadioButton("红色"); JCheckBox ch = new JCheckBox("粗体");// 定义一个复选按钮 JCheckBox ch1 = new JCheckBox("斜体"); String[] s = { "请选择字号", "10", "12", "14", "16", "18", "20", "22" };// 定义一个数组存储值 JList list = new JList(s);// 定义一个列表框将字符串数组作为参数 JComboBox jcb = new JComboBox(s);// 定义一个下拉列表框 //JTextArea jt = new JTextArea(5, 25);// 定义一个文本域 public test1() {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("字体的应用");
this.setSize(400, 300);
Container cp = this.getContentPane(); bu.add(jr);// 将单选按钮添加到按钮组中
bu.add(jr1);
JPanel jp = new JPanel();
jp.add(jr);
jp.add(jr1);
jp.add(ch);
jp.add(ch1);
jp.add(jcb);
this.add(jp); JPanel jp1 = new JPanel();
jp1.setLayout(new BorderLayout());
jp1.add(jt, BorderLayout.WEST);
cp.add(jp1);
cp.add(jp); this.setVisible(true);
}}
public class test{
public static void main(String args[]){
new test1();
}
}
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Test1 extends JFrame {
ButtonGroup bu=new ButtonGroup();//定义单选按钮为一个组
JRadioButton jr=new JRadioButton("蓝色",true);//定义一个单选按钮
JRadioButton jr1=new JRadioButton("红色"); JCheckBox ch=new JCheckBox("粗体");//定义一个复选按钮
JCheckBox ch1=new JCheckBox("斜体");
//
String[] s={"请选择字号","10","12","14","16","18","20","22"};//定义一个数组存储值
JList list=new JList(s);//定义一个列表框将字符串数组作为参数
JComboBox jcb=new JComboBox(s);//定义一个下拉列表框
//
JTextArea jt=new JTextArea(5,25);//定义一个文本域 public Test1(){
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("字体的应用");
this.setSize(400,300);
Container cp=this.getContentPane();
cp.setLayout(new BorderLayout()) ;
bu.add(jr);//将单选按钮添加到按钮组中
bu.add(jr1);
JPanel jp=new JPanel(); jp.add(jr);
jp.add(jr1);
jp.add(ch);
jp.add(ch1);
jp.add(jcb);
//this.add(jp); JPanel jp1=new JPanel();
//jp1.setLayout(new BorderLayout());
jp1.add(jt);
cp.add(jp1,BorderLayout.WEST);
cp.add(jp,BorderLayout.CENTER) ;this.setVisible(true);
}
public static void main(String[] args) {
new Test1();
} }
Container contentPane = this.getContentPane();
为啥要加这个。
在swing中getContentPane()返回的是根窗口的内容(这种叫法不规范,先不管那么多了),就好象是一个最底层的容器,所有的GUI元素都要在通过他来展现。《JAVA核心技术》那本书里说到,JAVA的界面其实分为多个层次的。详细的解释得翻一下书,以前对桌面开发接触的少,没细看
我是这么理解的。