import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class ButtonDemo extends JFrame//implements ActionListener   {
   
   
    private JTextField nameFeild;
    private JRadioButton maleButton,femaleButton;
    private JComboBox placeBox;
    private JCheckBox hobbiesBox[];
    private JTextArea resumeAre;
    private String birthplace[]={"北京","上海","福州"};
    private String hobbies[]={"羽毛球","篮球","排球"};    public ButtonDemo(){
        setTitle("欢迎来到GUI的世界");        JPanel p1=new JPanel();//基本信息部分;
        p1.setLayout(new GridLayout(3,1,0,20));
        p1.setBorder(BorderFactory.createTitledBorder("基本信息"));
        
        JPanel L1=new JPanel();
        L1.setLayout(new GridLayout(1,2,0,0));
        L1.add(new Label("姓名"));
        nameFeild=new JTextField(8);
        L1.add(nameFeild);
        p1.add(L1);
        
        JPanel L2=new JPanel();
        L2.setLayout(new GridLayout(1,3,0,0));
        ButtonGroup group=new ButtonGroup();
        maleButton=new JRadioButton("男");
        maleButton.setSelected(true);
        group.add(maleButton);
        femaleButton=new JRadioButton("女");
        group.add(femaleButton);
        L2.add(new Label("性别"));
        L2.add(maleButton);
        L2.add(femaleButton);
        p1.add(L2);
        
        JPanel L3=new JPanel();
        L3.setLayout(new GridLayout(1,2,0,0));
        L3.add(new Label("籍贯"));
        placeBox=new JComboBox(birthplace);
        placeBox.setSelectedIndex(0);
        L3.add(placeBox);
        p1.add(L3);
        
   
   
        JPanel p2=new JPanel();//写爱好部分;
        p2.setLayout(new BoxLayout(p2,BoxLayout.Y_AXIS));
        p2.setBorder(BorderFactory.createTitledBorder("请选择你的爱好"));
        hobbiesBox=new JCheckBox[hobbies.length];
        for(int i=0;i<hobbies.length;i++)
        {
         hobbiesBox[i]=new JCheckBox(hobbies[i]);
         p2.add(hobbiesBox[i]);
         }
        
       
       
        JPanel p3=new JPanel();//简历区域
        p3.setLayout(new BoxLayout(p3,BoxLayout.Y_AXIS));
        p3.setBorder(BorderFactory.createTitledBorder("请输入你的简历"));
        resumeAre=new JTextArea(3,30);
        p3.add(resumeAre);
        
        JPanel panel = new JPanel();
        panel.setLayout(new BorderLayout()); 
        panel.add(p1,BorderLayout.WEST);
        panel.add(p2,BorderLayout.CENTER);
        panel.add(p3,BorderLayout.SOUTH);
        
        add(panel);        
    }    public static void main(String[] args){
        ButtonDemo frame=new ButtonDemo();
        frame.pack();
        frame.setVisible(true);
    }
}感激啊。可是我现在写完了该怎么让它显示的框框大小不发生变化呢??

解决方案 »

  1.   

    void setResizable(boolean resizable)          
    设置此窗体是否可由用户调整大小。 
    API里面有。
      

  2.   

    恩 如楼上说的 setResizable(false);
    就可以了或者你用null布局,然后给每个组件setBounds(X,Y,W,H);
    这样组件的大小决不会变化
      

  3.   

    import java.awt.*;import javax.swing.*;
    import java.awt.event.*;
    import javax.swing.event.*;import javax.swing.JPanel;
    public class calculate extends JFrame //implements// ActionListener
    {
    Label prompt1;
    TextField input1;
    Label prompt2;
    TextField input2;
    int num1,num2;
    boolean flag=false;
    public void main(String[] args)
    {
    calculate frame=new calculate();
    frame.pack();
    frame.setVisible(true);
    }
    public calculate()
    {
    JPanel panel1=new JPanel();
    panel1.setLayout(new FlowLayout());
        panel1.add(new JButton("+"));
        panel1.add(new JButton("-"));
        panel1.add(new JButton("*"));
        panel1.add(new JButton("/"));
        panel1.add(new JButton("c"));
        
        JPanel panel2=new JPanel();
    panel2.setLayout(new FlowLayout());
        prompt1 = new Label("num1");
    input1 = new TextField(10);
    prompt2 = new Label("num2");
    input2 = new TextField(10);
    panel2.add(prompt1);
    panel2.add(input1);
    panel2.add(prompt2);
    panel2.add(input2);

    JPanel p=new JPanel();
    p.setLayout(new BorderLayout());
    p.add(panel1,BorderLayout.NORTH);
    p.add(panel2,BorderLayout.CENTER);


    add(p);

        
    }
    }
    恩,谢谢啊,你们说这个为什么显示不出按钮啊???虽然编译通过了,接下去还要写监听器的啦,只是这边出现问题还没写??
      

  4.   

    那个有个设置  就是让他失去大小的那个东西。
       API里面有呢
      

  5.   

    楼主的main方法写的不对public static void main(String[] args)
    {
    calculate frame=new calculate();
    frame.pack();
    frame.setVisible(true);
    }
      

  6.   

    晕 上面告诉过你了啊
    frame.setResizable(false);