本人一直想找时间系统整理一下之前做过的一些实验,便于后续用到的时候可以尽快的使用,po出来也便于大家交流学习,有问题欢迎交流指正,与诸君共勉!
JAVA随堂作业:简单GUI的实现,包括简单计算器、多级菜单、简易注册界面。
简单计算器
代码
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
public class GUI1006 {
public static void calculatorGUI() {
JFrame frm = new JFrame();
JTextArea text = new JTextArea();
frm.setBounds(100,100,500,400);
frm.setTitle("计算器");
frm.setLayout(new BorderLayout());//添加文本框
JPanel p1=new JPanel();
JPanel p2=new JPanel();
text.setPreferredSize(new Dimension (480,50));//设置组件大小
p2.setLayout(new FlowLayout());
p1.add(text);
frm.add(p1,BorderLayout.NORTH);
p2.setLayout(new GridLayout(4,4));
JButton button[]=new JButton[16];
button[0]=new JButton("7");
button[1]=new JButton("8");
button[2]=new JButton("9");
button[3]=new JButton("/");
button[4]=new JButton("4");
button[5]=new JButton("5");
button[6]=new JButton("6");
button[7]=new JButton("*");
button[8]=new JButton("1");
button[9]=new JButton("2");
button[10]=new JButton("3");
button[11]=new JButton("-");
button[12]=new JButton("0");
button[13]=new JButton(".");
button[14]=new JButton("=");
button[15]=new JButton("+");
for(int i=0;i<button.length;i++ )
p2.add(button[i]);
frm.add(p2,BorderLayout.CENTER);
frm.setVisible(true);
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String []args) {
calculatorGUI();
}
}
运行效果
菜单
代码
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class MenuFrame extends JFrame{
private JPanel contentPane;
JMenuBar menubar;
JMenu menu1,menu2,menu3;
JMenuItem jMenuItem,jMenuItem1,jMenuItem2,jMenuItem3,jMenuItem4;
MenuFrame(String s){
super(s);
setSize(500,600);
setLocationRelativeTo(null);
//setContentPane(contentPane);
menubar=new JMenuBar();
menu1=new JMenu("文件");
menu2=new JMenu("编辑");
menu3 = new JMenu("选项");
jMenuItem = new JMenuItem("复制");
jMenuItem1 = new JMenuItem("粘贴");
jMenuItem2 = new JMenuItem("自动显示");
jMenuItem3 = new JMenuItem("全屏显示");
jMenuItem4 = new JMenuItem("正常显示");
menu2.add(jMenuItem);
menu2.add(jMenuItem1);
menu3.add(jMenuItem2);
menu3.add(jMenuItem3);
menu3.add(jMenuItem4);
menu2.add(menu3);
menubar.add(menu1);
menubar.add(menu2);
this.setJMenuBar(menubar);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String []args) {
MenuFrame mf = new MenuFrame("菜单演示");
}
}
运行效果
注册界面
代码
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import javax.swing.ButtonGroup;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JRadioButton;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class SignFrame extends JFrame{
private JPanel contentPane;
private JLabel lab1, lab2, lab3, lab4, lab5,lab6,lab7,lab8;
private JTextField tf1,tf2;
private JPasswordField pwf1,pwf2;
private JTextArea ta;
private JPanel sexGroup;
SignFrame(String s){
super(s);
setSize(320,400);
setLocationRelativeTo(null);
contentPane = new JPanel();
setContentPane(contentPane);
lab1 = new JLabel("用户名:");
JTextField tf1 = new JTextField(20);
lab2 = new JLabel("密码:");
pwf1 = new JPasswordField(20);
pwf1.setEchoChar('*');
lab3 = new JLabel("确认:");
pwf2 = new JPasswordField(20);
pwf2.setEchoChar('*');
lab4 = new JLabel("个人简介:");
ta = new JTextArea(10,20);
lab5 = new JLabel("性别");
JRadioButton male=new JRadioButton("男");
JRadioButton female=new JRadioButton("女");
ButtonGroup sex=new ButtonGroup();
sexGroup = new JPanel();
sex.add(male);
sex.add(female);
sexGroup.add(male); //把单选按钮添加到组中
sexGroup.add(female);
lab6 = new JLabel("证件类型:");
JComboBox jc=new JComboBox(); //创建下拉框
//创建子项
jc.addItem("身份证");
jc.addItem("护照");
jc.addItem("学生证");
jc.addItem("驾驶证");
jc.addItem("军官证");
jc.addItem("其他");
JPanel jp1=new JPanel();
jp1.setLayout(new FlowLayout(FlowLayout.TRAILING));
jp1.setSize(200,50);
//把下拉框添加到面板中
jp1.add(lab6);
jp1.add(jc);
lab7 = new JLabel("证件号码:");
JTextField tf2 = new JTextField(18);
lab8 = new JLabel("同意服务条款:");
JCheckBox jcb1 = new JCheckBox("我已经看过同意使用条例"); // 定义一个复选框
contentPane.add(lab1);
contentPane.add(tf1);
contentPane.add(lab2);
contentPane.add(pwf1);
contentPane.add(lab3);
contentPane.add(pwf2);
contentPane.add(lab4);
contentPane.add(ta);
contentPane.add(lab5);
contentPane.add(sexGroup);
contentPane.add(jp1);
contentPane.add(lab7);
contentPane.add(tf2);
contentPane.add(lab8);
contentPane.add(jcb1);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //点击X号可以关闭程序
}
public static void main(String []args) {
SignFrame sf = new SignFrame("注册界面");
}
}