通过可视化界面认识类与对象
前言:学过C++,现在开始学Java。刚开始学,把学习笔记写在这里,我应该会时不时的写一写我认为Java和C++不一样的地方。这里所有的内容都是我自己的理解所以不能保证正确性。
一、可视化界面(这只是我自己暂时的叫法)
我们运行Java程序时输入输出都是在程序下方的框内,这里“可视化界面”实际上就是程序运行时弹出一个界面,然后界面上有一些内容可以进行交互信息和接受命令,就是包含一些输入框、按钮等的界面,比直接在程序下方的框中美观清晰方便,以实现一个如下图所示的简化QQ登录界面为例。
二、创建可视化界面,进行简单的操作
Java是面向对象的语言,这样的可视化当然离不开类和对象。Java中为我们提供了这样的类,放在不同的包(package)中,我们只需调用即可。
1.接下来所需要的类和所在包
1).组件:就是我们所要显示在屏幕上的所有的东西。
a.容器组件:装纳其他组件使用。
顶级容器组件(窗体):界面,所有其他的组件,必须添加在顶级容器组件上,才能显示。【窗体 JFrame】
b.元素组件:提供和用户交互功能, 输入(输入框、按钮)、输出(显示文字、显示图片)等。
【文本输入框 JTextField
密码输入框 JPasswordField
标签 JLabel(输出图片和文字)
复选框 JCheckBox
按钮 JButton
图片 javax.swing.ImageIcon】
2)布局:设置控制组建在界面的摆放规则。
流式布局:将组件从左到右依次摆放,一行摆放不下下一个组件,则自动换行。
【流式布局 java.awt.FlowLayout
尺寸 java.awt.Dimension】
***具体内容或需要其他设计可以在Java API中查找其他包。
2.设计步骤
第一步:创建一个登录界面类,定义显示界面的方法。
第二步:创建窗体的对象,设置窗体的属性和布局。
第三步:创建各个组件的对象,设置组件的属性,添加到窗体上。
第四步:设置窗体可见。
第五步:在主方法中,创建登录界面的对象,调用显示界面的方法。
3.代码
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JButton;
import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.JTextField;
import javax.swing.JPasswordField;
import javax.swing.JCheckBox;
public class LoginUI
{
//显示界面方法
public void showUI()
{
//创建窗体对象
JFrame loginFrame=new JFrame();
//设置窗体属性
loginFrame.setSize(550,550);
//设置窗体布局
FlowLayout layout=new FlowLayout();
loginFrame.setLayout(layout);
//创建图片对象
ImageIcon icon=new ImageIcon("C:\\Users\\Administrator\\Desktop\\QQ截面图.png");
//创建显示图片的标签
JLabel iconLabel=new JLabel(icon);
//创建输入框对象
JTextField nameInput=new JTextField();
JPasswordField passWordinput=new JPasswordField();
nameInput.setText("账号");
passWordinput.setText("密码");
//通过Dimension对象设置输入框大小
Dimension inputsize=new Dimension(350,35);
nameInput.setPreferredSize(inputsize);
passWordinput.setPreferredSize(inputsize);
//创建标签对象
JLabel registerLabel= new JLabel("注册账号");
JLabel findPassword=new JLabel("找回密码");
//创建复选框对象
JCheckBox zidong=new JCheckBox("自动登录");
JCheckBox rememberPass=new JCheckBox("记住密码");
//创建按钮对象
JButton MLogin=new JButton("登录");
//设置标签,复选框,按钮大小
Dimension Labelsize1=new Dimension(150,35);
Dimension LabelSIze3=new Dimension(400,40);
registerLabel.setPreferredSize(Labelsize1);
findPassword.setPreferredSize(Labelsize1);
rememberPass.setPreferredSize(Labelsize1);
zidong.setPreferredSize(Labelsize1);
MLogin.setPreferredSize(LabelSIze3);
//将所有组件添加到窗体上
loginFrame.add(iconLabel);
loginFrame.add(nameInput);
loginFrame.add(registerLabel);
loginFrame.add(passWordinput);
loginFrame.add(findPassword);
loginFrame.add(rememberPass);
loginFrame.add(zidong);
loginFrame.add(MLogin);
//设置窗体可见
loginFrame.setVisible(true);
}
public static void main(String[] args)
{
//创建界面对象
LoginUI ui=new LoginUI();
//显示界面
ui.showUI();
}
}
运行结果就是显示出上面那样一个简单的界面。
三、小结
实现上面这个过程并不是很难,只要简单了解需要的包的方法的使用即可。实现这个过程主要是为了熟悉类和对象以及Java编码。