JAVA 图形用户界面的编程-控件与布局
附:实验源程序代码
import java.awt.BorderLayout;
import java.awt.Font;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
class Frame1 extends JFrame //设计一个窗体类
{
JButton jb1, jb2, jb3; //按钮
JLabel jl; //标签
Frame1() //构造方法
{
jb1 =new JButton("红色"); //创建按钮对象
jb2 = new JButton("绿色") ;
jb3 = new JButton("蓝色") ;
jl = new JLabel("设定标签颜色") ; //创建标签对象
jl.setFont(new Font("隶书", Font.PLAIN, 32)); //标签字体
JPanel jp1 = new JPanel(); //面板1
JPanel jp2 = new JPanel(); //面板2
jp1 .add(jl); //标签放入面板1
jp2 .add(jb1); //三个按键放入面板2
jp2 .add(jb2);
jp2 .add(jb3);
setLayout( new BorderLayout() ); //窗体设定为边界布局
add(jp1, BorderLayout.NORTH ) ; //标签面板放在窗体上端
add(jp2, BorderLayout.CENTER ); //按钮面板放在窗体中间
setSize(250,150) ; //设定窗体大小和位置
setTitle("实验6-1") ; //设定窗体标题
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true) ; //设定窗体可见
}
}
class Experiment9_1
{
public static void main(String[] args)
{
new Frame1();
}
}
import javax.swing.*;
import java.awt.*;
class Framel extends JFrame
{
JButton submit;
JLabel lb_id,lb_name,lb_sex,lb_ty,lb_bj,lb_desc;
JTextField jtf_id,jtf_name;
JRadioButton male,female;
JCheckBox ck_ty;
JComboBox cb_bj;
JTextArea txta_desc;
Framel()
{
lb_id = new JLabel("学号:",JLabel.RIGHT);
lb_name = new JLabel("姓名:",JLabel.RIGHT);
lb_sex = new JLabel("性别:",JLabel.RIGHT);
lb_ty = new JLabel("团员",JLabel.RIGHT);
lb_bj = new JLabel("班级",JLabel.RIGHT);
lb_desc = new JLabel("简介",JLabel.RIGHT);
jtf_id = new JTextField(12);
jtf_name = new JTextField(12);
male = new JRadioButton("男");
female = new JRadioButton("女");
ck_ty = new JCheckBox();
txta_desc = new JTextArea(5,11);
male.setSelected(true);
ButtonGroup bg_sex = new ButtonGroup();
bg_sex.add(male);
bg_sex.add(female);
String items[] = {"网络信息1011","软件1011","系统维护1011"};
cb_bj = new JComboBox(items);
JPanel jtf = new JPanel();
JPanel jtf2 = new JPanel();
JPanel jtf3 = new JPanel();
JPanel jtf4 = new JPanel();
JPanel jtf5 = new JPanel();
jtf.add(lb_id);
jtf.add(jtf_id);
jtf2.add(lb_name);
jtf2.add(jtf_name);
jtf3.add(lb_sex);
jtf3.add(male);
jtf3.add(female);
jtf3.add(lb_ty);
jtf3.add(ck_ty);
jtf4.add(lb_bj);
jtf4.add(cb_bj);
jtf5.add(lb_desc);
jtf5.add(txta_desc);
setLayout(new BoxLayout(this.getContentPane(), BoxLayout.Y_AXIS));
add(jtf);
add(jtf2);
add(jtf3);
add(jtf4);
add(jtf5);
JPanel jp_submit = new JPanel();
submit = new JButton("确定");
jp_submit.add(submit);
add(jp_submit);
}
}
public class Experiment9_2
{
public static void main(String[] args)
{
Framel f = new Framel();
f.setLocation(200,100);
f.setVisible(true);
f.setTitle("实验6_2");
f.setSize(250,300);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
实验三:
import java.awt.GridLayout;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
class Frame3 extends JFrame
{
Frame3()
{
setLayout(new BoxLayout(this.getContentPane(),BoxLayout.Y_AXIS));
JPanel jp1=new JPanel();
JPanel jp2=new JPanel();
JButton jb[]=new JButton[16];
jp1.add(new JTextField(20));
add(jp1);
jp2.setLayout(new GridLayout(4,4,5,5));
for(int i=0;i<10;i++)
jb[i]=new JButton(""+i);
jb[10] = new JButton(".");
jb[11] = new JButton("1/x");
jb[12] = new JButton("C");
jb[13] = new JButton("√");
jb[14] = new JButton("㎡");
jb[15] = new JButton("㏒");
for(int i=1;i<4;i++)
jp2.add(jb[i]);
jp2.add(jb[12]);
for(int i=4;i<7;i++)
jp2.add(jb[i]);
jp2.add(jb[13]);
for(int i=7;i<10;i++)
jp2.add(jb[i]);
jp2.add(jb[14]);
jp2.add(jb[0]);
jp2.add(jb[10]);
jp2.add(jb[11]);
jp2.add(jb[15]);
add(jp2);
setVisible(true);
pack();
setTitle("实验6-3");
setLocation(300,400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args)
{
new Frame3();
}
}