图形界面
JFrame在swingbao
JFrame jframe = new JFrame();
iframe.setVisible(true); //设置窗口显示
jframe.setLocation(300, 300);//设置窗口位置
jframe.setSize(400,400);//设置窗口大小
//按钮,控件
/*JButton btn1 = new JButton("确定");
JButton btn2 = new JButton("取消");
JButton btn3 = new JButton("删除");
jframe.add(btn1);
jframe.add(btn2);
jframe.add(btn3);*/
//JFtame默认布局管理器 BorderLayout (东南西北中布局)
/*jframe.setLayout(null);//完全自定义布局 需要为每个控件设置大小位置
//位置
jframe.add(btn1,BorderLayout.WEST);
jframe.add(btn2,BorderLayout.EAST);
jframe.add(btn3, BorderLayout.CENTER);
btn1.setLocation(40, 40); //位置
btn1.setSize(100, 25); //大小
btn2.setLocation(40, 70);
btn2.setSize(100, 25);
btn3.setLocation(40, 100);
btn3.setSize(100, 25);*/
//流式布局 FlowLayout
//只会根据窗口大小进行布局,控件大小根据内容大小定大小
/*jframe.setLayout(new FlowLayout());
JButton btn1 = new JButton("确定");
JButton btn2 = new JButton("取消");
JButton btn3 = new JButton("删除");
JButton btn4 = new JButton("确定1");
JButton btn5 = new JButton("取消2");
JButton btn6 = new JButton("删除3");
jframe.add(btn1);
jframe.add(btn2);
jframe.add(btn3);
jframe.add(btn4);
jframe.add(btn5);
jframe.add(btn6);*/
//网格布局,也叫表格布局
//前两个参数表示几行几列,注意:必须先满足行,才满足列; 后面两个参数表示间隔.
jframe.setLayout(new GridLayout(2,3,5,5));
JButton btn1 = new JButton("确定");
JButton btn2 = new JButton("取消");
JButton btn3 = new JButton("删除");
JButton btn4 = new JButton("确定1");
JButton btn5 = new JButton("取消2");
JButton btn6 = new JButton("删除3");
jframe.add(btn1);
jframe.add(btn2);
jframe.add(btn3);
jframe.add(btn4);
jframe.add(btn5);
jframe.add(btn6);
jframe.setDefaultCloseOperation(JFrame.EXOE_ON_CLOSE);
//默认是点右上角X时,隐藏
//设置为JFrame.EXIT_ON_CLSE时,点击右上角才是关闭
布局容器
JPanel ,默认的布局管理器FlowLayout
JPanel p1 = new JPanel();
文字显示的控件
JTabel lblName = new JTabel("账号:");
输入框
JTextField txtName = new JTextField(宽度);
密码框
JPasswordField txtPaw = new JPasswordField(宽度);
将控件加入JPanel容器中
p1.add(lblName);
btu.addActionListener(new ActionListener(){}); // 按钮作用实现
信息弹出窗口
JOptionPane.showMessageDialog(null,"登陆成功");
在跳到新窗口时,隐藏原来的窗口
LoginFrame.this.dispose(); 注意这个实在匿名类中使用.必须要使用类名.this.dispose();
设置不能改变窗口大小
this.setResizable(false);
打包,就是让窗口里面的控件更加的紧凑
pack();
//账户
private JTextField txtName;
//密码
private JPasswordField txtPwd;
public LoginFrame(){
this.setTitle("登录窗口");
//位置
this.setLocation(400, 300);
//大小
this.setSize(400, 400);
this.setLayout(new GridLayout(3,1,5,10));
JPanel p1 = new JPanel();
JLabel lblName = new JLabel("账号:");
txtName = new JTextField(20);
txtName.setText("admin");
p1.add(lblName);
p1.add(txtName);
JPanel p2 = new JPanel();
//文字显示控件
JLabel lblpwd = new JLabel("密码:");
//输入框控件
this.txtPwd = new JPasswordField(20);
//将控件加入panel容器中
p2.add(lblpwd);
p2.add(txtPwd);
JPanel p3 = new JPanel();
JButton btn1 = new JButton("登录");
JButton btn2 = new JButton("注册");
p3.add(btn1);
p3.add(btn2);
//ActionListener接口,用于关联按钮作用
btn1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
//获取文本框的内容
String name = txtName.getText();
//获取密码框的内容,密码是字符数组
String pwd = new String(txtPwd.getPassword());
if(name.equalsIgnoreCase("admin") &&
pwd.equalsIgnoreCase("admin")){
//弹出提示框
//第一个参数:null表示在屏幕中间显示
//第二个参数:表示显示的信息
//String name1 = JOptionPane.showInputDialog("请输入账号:");
JOptionPane.showMessageDialog(null, "登陆成功!");
//在跳到新窗口时,隐藏原来的窗口
LoginFrame.this.dispose();
//new的新窗口(传当前窗口过去)
new MyFrame(LoginFrame.this);
}else{
JOptionPane.showMessageDialog(null, "登陆失败!");
}
}
});
//把控件加入窗口中
this.add(p1);
this.add(p2);
this.add(p3);
//关闭窗口 关闭整个程序
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//设置不能改变窗口大小
this.setResizable(false);
//打包,就是让窗口里面的控件更加的紧凑
pack();
//设置窗口显示
this.setVisible(true);
}
下拉菜单
JComboBox<E>
JComboBox<String> combox = new JComboBox<String>();
combox.addItem("本科");
combox.addItem("专科");
combox.addItem("高中");
JButton btn2 = new JButton("选择");
btn2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//获取下拉列表的选择内容
String str = (String) combox.getSelectedItem();
System.out.println(str);
}
});
单选按钮
JRadiobutton
单选按钮组
ButtonGronp
需要把单选按钮放入单选按钮组中,才能实现单选功能
//单选按钮类,定义单选按钮
JRadioButton jr1 = new JRadioButton("男");
JRadioButton jr2 = new JRadioButton("女");
//单选按钮组
ButtonGroup bg = new ButtonGroup();
//把单选按钮给进单选按钮组
bg.add(jr1);
bg.add(jr2);
//
JPanel panel3 = new JPanel();
panel3.add(jr1);
panel3.add(jr2);
//BorderLayout.CENTER表示居中显示
this.add(panel3,BorderLayout.CENTER);