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);
}
}感激啊。可是我现在写完了该怎么让它显示的框框大小不发生变化呢??
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);
}
}感激啊。可是我现在写完了该怎么让它显示的框框大小不发生变化呢??
设置此窗体是否可由用户调整大小。
API里面有。
就可以了或者你用null布局,然后给每个组件setBounds(X,Y,W,H);
这样组件的大小决不会变化
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);
}
}
恩,谢谢啊,你们说这个为什么显示不出按钮啊???虽然编译通过了,接下去还要写监听器的啦,只是这边出现问题还没写??
API里面有呢
{
calculate frame=new calculate();
frame.pack();
frame.setVisible(true);
}
frame.setResizable(false);