又显示不出来了~谁能告诉我为什么!要不我一会接着添加还不显示
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();
}}

解决方案 »

  1.   

    显示不出来任何东西是因为在你的代码中,你的那个文本框和其他的界面对象属于两个不同的panel实例,你只是在frame中添加了包含文本框的那个panel对象jp1,但是没有添加jp.
    另外,你的代码那样写好象本身就有问题.为什么要在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();
    }
    }
      

  2.   

    package ChatClient03;
    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(); 
    } } 
      

  3.   

    不加这个组件行不行?
    Container contentPane = this.getContentPane();
    为啥要加这个。
      

  4.   


    在swing中getContentPane()返回的是根窗口的内容(这种叫法不规范,先不管那么多了),就好象是一个最底层的容器,所有的GUI元素都要在通过他来展现。《JAVA核心技术》那本书里说到,JAVA的界面其实分为多个层次的。详细的解释得翻一下书,以前对桌面开发接触的少,没细看
    我是这么理解的。