实训7
1、制作一个如图所示的界面(使用FlowLayout布局),不要求实现功能。
import java.awt.*; import javax.swing.*; public class test1 { JFrame jf; JButton jb1,jb2; JLabel jl1,jl2,jl3,jl4,jl5,jl6,jl7,jl8,jl9; JPanel jp; JTextField jt1,jt2,jt3,jt4,jt5,jt6; public test1(){ jf=new JFrame(); jp=new JPanel(); jl1=new JLabel("当前时间"); jl2=new JLabel("闹钟时间"); jl3=new JLabel("时"); jl4=new JLabel("分"); jl5=new JLabel("秒"); jl6=new JLabel("时"); jl7=new JLabel("分"); jl8=new JLabel("秒"); jl9=new JLabel("闹钟设置"); jt1=new JTextField(5); jt2=new JTextField(5); jt3=new JTextField(5); jt4=new JTextField(5); jt5=new JTextField(5); jt6=new JTextField(5); jb1=new JButton("开"); jb2=new JButton("关"); jf.add(jp); jp.add(jl1); jp.add(jt1); jp.add(jl3); jp.add(jt2); jp.add(jl4); jp.add(jt3); jp.add(jl5); jp.add(jl2); jp.add(jt4); jp.add(jl6); jp.add(jt5); jp.add(jl7); jp.add(jt6); jp.add(jl8); jp.add(jl9); jp.add(jb1); jp.add(jb2); jf.setSize(350,350); jf.setVisible(true); } public static void main(String[] args) { new test1();}}
2、设计一个用标签、文本行与按钮来登录的界面(用GridLayout布局方式)。如图所示。
package test; import java.awt.*; import javax.swing.*; public class test2 { JFrame jf; JButton jb1,jb2; JLabel jl1,jl2; JPanel jp; JTextField jt1,jt2; public test2(){ jf=new JFrame(); jp=new JPanel(); jp.setLayout(new GridLayout(3,1,15,10)); jl1=new JLabel("用户名:"); jl2=new JLabel("口令:"); jt1=new JTextField(2); jt2=new JTextField(2); jb1=new JButton("确定"); jb2=new JButton("取消"); jf.add(jp); jp.add(jl1); jp.add(jt1); jp.add(jl2); jp.add(jt2); jp.add(jb1); jp.add(jb2); jf.setSize(300,150); jf.setVisible(true); } public static void main(String[] args) { new test2(); }}
3、设计一个如图所示的界面,不需要提供组件的功能。
package test;
import java.awt.*;
import javax.swing.*;
public class test3{
public static void main(String[] args){
JFrame jf=new JFrame("计算器");
jf.setLayout(new GridLayout(6,3,3,3));
JPanel jp = new JPanel(new GridLayout(1,3,3,3));
jf.add(jp);
JPanel jp1= new JPanel(new GridLayout(1,4,3,3));
JPanel jp2= new JPanel(new GridLayout(1,4,3,3));
JPanel jp3= new JPanel(new GridLayout(1,4,3,3));
JPanel jp4= new JPanel(new GridLayout(1,4,3,3));
JTextField jt1=new JTextField();
jf.add(jt1);
String str[]={"7", "8", "9", "/",};
JButton jb=null;
for(int i=0;i<4;i++){
jb = new JButton(""+str[i]);
jp1.add(jb) ;
}
String str2[]={ "4", "5", "6", "*", };
JButton jb2=null;
for(int i=0;i<4;i++){
jb2=new JButton(""+str2[i]);
jp2.add(jb2);
}
String str3[]={"1", "2", "3", "-",};
JButton jb3=null;
for(int i=0;i<4;i++){
jb3 = new JButton(""+str3[i]);
jp3.add(jb3) ;
}
String str4[]={ "0", ".", "=", "+"};
JButton jb4=null;
for(int i=0;i<4;i++){
jb4 = new JButton(""+str4[i]);
jp4.add(jb4) ;
}
jf.add(jp1);
jf.add(jp2);
jf.add(jp3);
jf.add(jp4);
jf.pack();
jf.setVisible(true);
}
}
4、编写可改变背景颜色的窗口。
package zcz;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class test4 implements ActionListener{
JFrame jf;
JButton jb1,jb2,jb3;
JPanel jp1,jp2;
public test4(){
jf=new JFrame();
jp1=new JPanel();
jp2=new JPanel();
jb1=new JButton("红色");
jb1.addActionListener(this);
jb1.setActionCommand("red");
jb2=new JButton("绿色");
jb2.addActionListener(this);
jb2.setActionCommand("green");
jb3=new JButton("蓝色");
jb3.addActionListener(this);
jb3.setActionCommand("blue");
jf.add(jp1);
jf.add(jp2);
jp1.add(jb1);
jp1.add(jb2);
jp1.add(jb3);
jf.setSize(300,400);
jf.setVisible(true);
jf.setLayout(new BorderLayout());
jf.add(jp2,BorderLayout.CENTER);
jf.add(jp1,BorderLayout.NORTH);
}
public static void main(String[] args) {
new test4();
}
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("red")){
jp2.setBackground(Color.red);
}else if(e.getActionCommand().equals("green")){
jp2.setBackground(Color.green);
}else if(e.getActionCommand().equals("blue")){
jp2.setBackground(Color.blue);
}
}
}