java 图形界面

来源:互联网 发布:简单网络机房图片 编辑:程序博客网 时间:2024/06/08 16:20

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;


public class Ex11_3 {
//定义部件
JFrame jf;
JButton jbt1,jbt2,jbt3;
JComboBox<String> jcb;
JTextField jtf1,jtf2;
JLabel jlb1,jlb2,jlb3;
JPanel jp1,jp2,jp3,jp4,jp5;


public Ex11_3(){
//创建部件
jf=new JFrame("用户登录");

jp1=new JPanel();
jbt1=new JButton("确定");
//确定——匿名类事件监听器
jbt1.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if (jtf1.getText().equals("")) {
JOptionPane.showMessageDialog(null, "用户名不可为空");
}else if (jtf1.getText().equals("teacher")&&jtf2.getText().equals("teacher")&&jcb.getSelectedItem().toString().equals("教师用户")) {
JOptionPane.showMessageDialog(null, "教师用户登录成功");
}else if (jtf1.getText().equals("student")&&jtf2.getText().equals("student")&&jcb.getSelectedItem().toString().equals("学生用户")) {
JOptionPane.showMessageDialog(null, "学生用户登录成功");
}else {
JOptionPane.showMessageDialog(null, "用户名不存在或者密码不正确");
}

}
});
//取消——匿名类事件监听器
jbt2=new JButton("取消");
jbt2.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
jtf1.setText("");
jtf2.setText("");
}
});
jbt3=new JButton("退出");
//退出——匿名类事件监听器
jbt3.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
// setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 jf.setVisible(false);
 jf.dispose();
 System.exit(0);
}
});
jtf1=new JTextField(10);//文本框
jtf2=new JTextField(10);

jp1.add(jbt1);
jp1.add(jbt2);
jp1.add(jbt3);
jf.add(jp1,"South");//低端面板

jlb1=new JLabel("用户类型");//标签
jlb2=new JLabel("用户名:");
jlb3=new JLabel("密 码:");

String[] item=new String[]{"学生用户", "教师用户"};//下拉列表
jcb=new JComboBox<String>(item);

jp2=new JPanel();
jp2.add(jlb1);
jp2.add(jcb);
jf.add(jp2,"North");//顶端面板

jp3=new JPanel();
jp3.add(jlb2);
jp3.add(jtf1);

jp4=new JPanel();
jp4.add(jlb3);
jp4.add(jtf2);

jp5=new JPanel();
jp5.add(jp3);
jp5.add(jp4);
jf.add(jp5,BorderLayout.CENTER);

// jp3=new JPanel();
// jp3.add(jlb2);
// jp3.add(jtf1);
// jp3.add(jlb3);
// jp3.add(jtf2);
// jf.add(jp3,BorderLayout.CENTER);

jf.pack();
jf.setVisible(true);


}





public static void main(String[] args) {
// TODO Auto-generated method stub
new Ex11_3();


}


}


dispose()方法:

1.使用dispose()方法关闭窗体会释放该窗体的占用的部分资源
2.使用dispose()方法关闭的窗体可以使用pack 或 show 方法恢复,并且可以恢复到dispose前的状态



图形界面基本流程

1.定义部件

2.创建部件

3.创建监听器

4.创建对象


0 0
原创粉丝点击