赞
踩
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
** 我们首先引入界面开发的相关概念
1 .界面开发框架: 界面开发 接口与监听器 图形图像项目
2.界面开发包:包:用来给代码分类的
包名:全小写,用点. 来分隔不同文件夹包 java.awt
早期的界面开发包: 保留使用 颜色 尺寸 布局类 javax.swing
升级之后的界面开发包: 所有的类都可以使用 主要是可视化组件类
**
1:创建窗口 设置窗体的属性
2:设置 布局方式
3:创建组件对象 设置组件的属性与内容
4:将组件对象加载到窗体对象上
操作时需要有一个界面 JFrame、输入框 JTextFiled、密码输入框JPasswordField、按钮 JButton,图标图片ImageIcon等系统自带类。
代码如下(示例):
import java.awt.*; import javax.swing.*; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public class Login { // 定义Login类 public static void main(String[] args) { Login login = new Login(); login.initUI(); //在Login类中调用 initUI()方法 /* Login.intUI(); */ } public static void initUI() { JFrame frame = new JFrame(); //实例化JFrame对象 frame.setTitle("Login");// 设置窗体的标题 frame.setSize(400, 650);// 设置窗体的大小,单位是像素px frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);// 写常量名 尽量不写数字 设置窗体的关闭操作;3表示关闭窗体退出程序; 2、1、0 frame.setLocationRelativeTo(null);// 设置窗体相对于另一个组件的居中位置,参数null表示窗体相对于屏幕的中央位置 frame.setResizable(false);// 设置禁止调整窗体大小 //流式布局,布局窗体 从左至右依次摆放 整体默认居中 ,一行充满 摆放到下一行 FlowLayout fl = new FlowLayout(FlowLayout.CENTER, 10, 10); frame.setLayout(fl); //frame框架调用流式布局方法; // 图片需要调用ImageIcon类 构造方法(文件路径+文件名.格式) //图片是内容 不是组件 所以图片对象必须要绑定到组件上才能显示到界面上 ImageIcon icon = new ImageIcon("C:\\Users\\zhuaba\\Desktop\\a.png"); JLabel labIcon = new JLabel(icon); // 用标签来接收图片,实例化JLabel标签对象,该对象显示icon图标 Dimension dim = new Dimension(400,300); //调用Dimension类的构造方法,实例化dim对象 尺寸 dimension labIcon.setPreferredSize(dim); //优先考虑尺寸 frame.add(labIcon); //将标签对象 labicon加载到窗体frame上 JLabel labName = new JLabel("账号:"); //实例化标签类 labName对象,显示字符串 “账号" frame.add(labName); //将 labName对象 加载到窗体上 // 文本输入框 JTextField nameInput = new JTextField(); //实例化标签类 nameInput对象 Dimension dim1 = new Dimension(300,30); //实例化 dim1对象 nameInput.setPreferredSize(dim1); //调用 setPreferredSize方法 改变文本输入框尺寸 frame.add(nameInput); //将文本输入框 加载到窗体上 JLabel labpass= new JLabel("密码:"); //实例化标签类 labpass对象 frame.add(labpass); //将标签对象加载到窗体上 //Pwd输入框 JPasswordField pwdInput = new JPasswordField(); //实例化JPasswordField pwdInput.setPreferredSize(dim1);//设置组件大小 frame.add(pwdInput); //将输入框加载到窗体上 JButton button=new JButton(); //实例化Jbutton //Dimension dim2 = new Dimension(100,30); button.setText("登录"); button.setSize(100,30); //设置组件大小 frame.add(button); //将按钮加载到窗体上 //窗体可视化需要将所有组件加载完再执行 frame.setVisible(true);// 设置窗体为可见 //button.setVisible (true); // 监听器 :将实现了ActionListener的类 创建对象 绑定给按钮对象 LoginListener loginListener = new LoginListener (); button.addActionListener (loginListener); /* 在这里直接获取输入框里面的字符串 但是程序执行到这里 ,界面还没有显示到屏幕上面 不存在用户输入账号密码。 获取的账号和密码是空的,所以要将输入框对象传入监听器对象中,在监听器方法(点击按钮会自动调用的方法)中使用输入输入框对象,获取文本。 1.先在监听器中定义两个输入框对象变量名; 2.监听器对象可以调用输入框对象变量名,对其赋值(实际的输入框对象地址); */ String username=nameInput.getText(); String pwd=pwdInput.getText(); System.out.println("直接在界面初始化当中获取用户名:" + username+ " 密码: " + pwd);//先赋一个空值,保证输入框显示能够获取,在输入后,调用getText()方法覆盖空的值。 loginListener.textName2=nameInput; //将输入框对象传给监听器 loginListener.textPwd2=pwdInput;
**
效果如下:
点击按钮之后 可以执行自己想要执行的代码
如何知道按钮被点击了:
**
监听器的实现
在本项目中我们使用的是动作监听器来监听按钮是否被点击 。
需要接口 java.awt.event.ActionListener
代码如下(示例):
import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class LoginListener implements ActionListener { JTextField textName2; // 定义两个输入框变量 类名 对象名 JPasswordField textPwd2; /** * 查看 ActionListener 的 源码 重写监听器中的方法 * e */ public void actionPerformed(ActionEvent e) { // 获取按钮上的字符串 String btnstr = e.getActionCommand(); //定义变量 btnstr 通过getActionCommand()方法 ,获取按钮上的字符串; //验证监听器 监听点击按钮的动作事件 System.out.println(btnstr); System.out.println("登录按钮被点击了"); //获取输入框的字符 String username = textName2.getText(); String pwd = textPwd2.getText(); System.out.println("点击按钮后获取用户名:" + username + "点击按钮后获取密码" + pwd);//验证是否获取用户数输入的username和pwd //验证账号登录的半段 if (username.equals("gc") && pwd.equals("123456")) { //写一个小弹窗 JOptionPane.showMessageDialog(null, "登录成功"); } else { JOptionPane.showMessageDialog(null,"登陆失败"); } } } 需要注意的是 ,监听器的方法需要被重写才能够执行调用。
例如:以上就是今天要讲的内容,本文仅仅简单介绍了登录界面的可视化,下面我们还可以绑定监听器,进行逻辑运算,添加例如登录,注册,验证码验证等相应功能。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。