Java图形界面

Posted hcjk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java图形界面相关的知识,希望对你有一定的参考价值。

图形界面

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);

 

以上是关于Java图形界面的主要内容,如果未能解决你的问题,请参考以下文章

java图形用户界面,本人代码效果如下,但是行间距有点大,按钮之类的组件过大,怎么解决?

JAVA的图形用户界面代码

java 图形界面设计制作计算器

java在windows系统下创建图形界面的代码移植到linux系统编译能不能创建图形界面?

java编程采用图形界面实现两个内容的交换,图形界面如下图

Java编写一个图形界面