java怎样实现窗口可视化_java界面——可视化窗口入门级

JAVA界面java

目标:咱们须要本身建立一个相似QQ登陆的界面,出现相似界面而后实现基本功能。函数

写一个窗体:布局

public class Login {

public static void main(String[] args) {

Login lo = new Login();

lo.showUI();

}

public void showUI(){

//窗体类

javax.swing.JFrame jf = new javax.swing.JFrame();

//窗体名称

jf.setTitle("QQ登录界面");

//窗体大小(具体值跟电脑显示器的像素有关,可调整到合适大小)

jf.setSize(400, 500);

//设置退出进程的方法

jf.setDefaultCloseOperation(3);

//设置居中显示用3

jf.setLocationRelativeTo(null);

//流式布局管理器

java.awt.FlowLayout flow = new java.awt.FlowLayout();

jf.setLayout(flow); //给窗体设置为流式布局——从左到右而后从上到下排列本身写的组件顺序

//图片,冒号里是你存图片的地址

javax.swing.ImageIcon icon = new javax.swing.ImageIcon("D:\\Picture\\01.jpg");

//标签

javax.swing.JLabel jla = new javax.swing.JLabel(icon);

java.awt.Dimension dm0=new java.awt.Dimension(280,200);

//设置大小

jla.setPreferredSize(dm0);//应用大小到相应组件

jf.add(jla);//将组件加到窗体上

//文本框

javax.swing.JTextField jtf = new javax.swing.JTextField();

java.awt.Dimension dm = new java.awt.Dimension(280, 30);

//(除了JFrame)其它全部组件设置大小都是该方法

jtf.setPreferredSize(dm);

jf.add(jtf);

//复选框

javax.swing.JCheckBox jcb = new javax.swing.JCheckBox("记住密码");

jf.add(jcb);

javax.swing.JCheckBox jcb2 = new javax.swing.JCheckBox("忘记密码");

jf.add(jcb2);

//按钮

javax.swing.JButton jbu = new javax.swing.JButton("登录");

jf.add(jbu); //给窗体添加一个按钮对象

jf.setVisible(true); //设置可见,放在代码最后一句

}

}

窗体以下:this

eb99293fe57ff5798a54d220925f1b0b.png

对……有点丑……不过基本功能是实现了,具体图片和大小能够再调节。code

添加监听器:orm

首先咱们在上面的基础上进行一些调整,而后写出咱们的目标界面:对象

662c2cd938026f9bd13ff2c7544984de.png

而后咱们给界面添加一些功能:当咱们方别在两个文本框输入帐号和密码以后点击登陆,若是密码正确则显示登录成功,不然显示登陆失败。这里须要咱们监听“登陆”按钮是否被点击,须要咱们写一个监听器,java中按钮监听器的父类是ActionListener。blog

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JTextField;

//按钮监听器的父类ActionListener里面有函数能够直接检测按钮是否被点击

public class ButListener implements ActionListener {

//定义JTextFieldb变量jt,用来保存传递过来的文本框对象

private JTextField jt;

private JTextField jt2;

//定义set方法,初始化jt

public void setJt(JTextField jt,JTextField jt2){

this.jt = jt;

this.jt2=jt2;

}

public void actionPerformed(ActionEvent e) {

//检测到按钮被点击自动计入到这个函数,这个函数是ActionListener类的方法

//接下来获取文本框里面的字符串

String name = jt.getText();

String password=jt2.getText();

//验证帐号和密码,若是正确显示登录成功的界面

//帐号123对应密码789

if("123".equals(name)&&"789".equals(password)){

Sucess sc=new Sucess();//新的界面(跟旧的差很少后面有代码)

sc.showUI();

}else{

//登陆失败界面写这里

}

}

}

而后把本身写好的监听器加到咱们已有的界面上:进程

public class Login {

public static void main(String[] args){

Login lo=new Login();

lo.showUI();

}

public void showUI(){

javax.swing.JFrame jf= new javax.swing.JFrame();

jf.setTitle("QQ登陆界面");

jf.setSize(300,400);

jf.setDefaultCloseOperation(3);

jf.setLocationRelativeTo(null);

java.awt.FlowLayout flow=new java.awt.FlowLayout();

jf.setLayout(flow);

javax.swing.ImageIcon icon = new javax.swing.ImageIcon("D:\\Picture\\01.jpg");

javax.swing.JLabel jla= new javax.swing.JLabel(icon);

java.awt.Dimension dm0=new java.awt.Dimension(280,200);

jla.setPreferredSize(dm0);

jf.add(jla);

javax.swing.JTextField jtf=new javax.swing.JTextField();

java.awt.Dimension dm1=new java.awt.Dimension(280,30);

jtf.setPreferredSize(dm1);

jf.add(jtf);

javax.swing.JTextField jtf2=new javax.swing.JTextField();

java.awt.Dimension dm2=new java.awt.Dimension(280,30);

jtf2.setPreferredSize(dm2);

jf.add(jtf2);

javax.swing.JCheckBox jcb3 = new javax.swing.JCheckBox("忘记密码");

jf.add(jcb3);

javax.swing.JCheckBox jcb4 = new javax.swing.JCheckBox("记住密码");

jf.add(jcb4);

javax.swing.JButton jbu = new javax.swing.JButton("登录");

java.awt.Dimension dm3=new java.awt.Dimension(80,30);

jbu.setPreferredSize(dm3);

jf.add(jbu);

//给按钮添加动做监听器方法

ButListener but = new ButListener();

//建立一个监听器

jbu.addActionListener(but);

//把监听器加在“登陆”按钮上

but.setJt(jtf,jtf2);

jf.setVisible(true);

}

}

这时咱们运行结果以下:图片

d564ee4f17b142941d56e8e37aaa5ba4.png

原谅这个图片……没有图片找了个表情包暂时用一下,大概意思就是这个。

登录成功界面代码附录以下:

public class Sucess {

public void showUI(){

javax.swing.JFrame jf= new javax.swing.JFrame();

jf.setTitle("登陆成功界面");

jf.setSize(300,400);

jf.setDefaultCloseOperation(3);

jf.setLocationRelativeTo(null);

java.awt.FlowLayout flow=new java.awt.FlowLayout();

jf.setLayout(flow);

javax.swing.ImageIcon icon = new javax.swing.ImageIcon("D:\\Picture\\02.jpg");

javax.swing.JLabel jla= new javax.swing.JLabel(icon);

java.awt.Dimension dm0=new java.awt.Dimension(280,200);

jla.setPreferredSize(dm0);

jf.add(jla);

jf.setVisible(true);

}

}

相关推荐

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页

打赏作者

weixin_34281501

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值