Java图形界面
java 有一个强大的的API(Application Programming Interface应用程序编程接口))类,利用这些API类我们可以完成许多功能,今天我们要做的是图形界面的制作。
图形界面要用什么来实现呢?先介绍Swing组件,它的特点是可插入外观组件,同时是“轻量级组件”(是不依赖于操作系统的语言,可以在任何平台上运行,相反“重量级组件”即AWT组件,依赖于本地平台)
在应用swing组件或者awt前,应导入包
import javax.swing.*;
import java.awt.*;//*表示任何以其为前缀的API类
-
常用的swing组件分为以下几部分:
窗体容器组件类:JFrame类 *容器
常用面板:JPanel面板可以聚集一些组件类布局,需要明确的是面板也是一种容器,一般情况我们通常定义多个JPanel面板对象,添加到一个JFrame类对象容器中。
元素组件类:用来显示图片或文字,接受输入的
{
JLabel类:标签元素组件类,可以用来显示图片,文字信息
JButton类:按钮元素组件类,用来显示文字图片,可以点击
JTextField类:文本输入框元素组件类,用来接受用户输入的信息,然后可以将其显示出来
JPasswordField类:密码输入框元素组件类,用来接受用户输入的信息,然后可以以特定的符号显示出来,比如‘*’,达到密码的安全性。
JRadioButton类:单选按钮组件类,显示一个圆形图标,圆形图标旁可以附加一些说明文字,当用户选择某个按钮之后,按钮组中的其他按钮将被自动取消。
按钮组使用ButtonGroup定义,然后将JRadioButton对象添加到按钮组中。
JCheckBox类:复选框元素组件类,提供一个选择框,然后在选择框后还可以有相应的图片文字信息,如 【选择框】 记住密码
}
辅助类:帮助组件完成某一个特定的功能
{
Dimension类:封装组件宽度高度类,可以通过组件对象.setPreferredSize(new Dimension(width,hight))来控制组件的大小,
ImageIcon类:图片类,可以用来加载磁盘上的图片。使用方法为ImageIcon image=new ImageIcon("图片地址") 注:如F:\自学视频\java教学视频,要将\变为两个才可以即F:\\自学视频\\java教学视频
FlowLayout类:流式布局类(JPanel组件默认的布局类:流式居中布局),即从左至右,从上至下的布局类
BorderLayout类:边框布局类(JFrame组件的默认布局类),即分为东南西北
GridLayout类:网格布局类,将容器划分为网格,所以组件可以按行和列进行排列,在网格布局中,每一个组件的大小都相同,实例化的写法为:
GridLayout(int rows,int columns,int horizGap,int vertGap)
horizGap为网格之间的水平距离,vertGap为网格之间的垂直距离
}
另外还有一些拓展类,有些地方能够起到很好的效果:
JTextPanel类 : 是一个可以编辑和显示html,rtf和普通文本的富文本组件,能实现的功能较多,使用方法为JTextPane中插入文字和图片_沂东旧客_新浪博客
JComboBox类是一个组件,它结合了一个按钮或可编辑字段与下拉列表,使用方法为:
有了这些基础知识,下面我们来讲
-
具体的代码实现步骤:
import javax.swing.*;
import java.awt.*;//一定要将这两个包导入进去
public class DrawFrame{
public static void main(String args[]){
//实例化JFrame 对象
JFrame frame=new JFrame();
frame.setSize(400,700);//设置大小
frame.setTitle("图形界面");//设置标题
frame.setDefaultCloseOperation(3);//界面关闭方式
frame.setLocationRelativeTo(null);//显示的界面居中
frame.setResizable(false);//设置能否改变大小
frame.setVisible(true);//界面的可见性
}
}
以上是创建窗体的步骤。得到的结果是:
下面我们接着来介绍添加标签类,图标类的具体方法:
// 实例化元素组件类,然后将对象添加到窗体可见
//实例化ImageIcon类的对象,从磁盘中提取出图片
javax.swing.ImageIcon img=new javax.swing.ImageIcon("F:\\图形界面\\qq.jpg");
//实例化JLbel类的对象,用来显示img
javax.swing.JLabel labImg=new javax.swing.JLabel(img);
//将JLabel类对象添加到窗口上
frame.add(labImg);
//使用JLbel类显示文字
javax.swing.JLabel labName1=new javax.swing.JLabel("账号:");
frame.add(labName1);
//实例化文本框
javax.swing.JTextField account=new javax.swing.JTextField();
//封装组件的大小和高度 Dimentsion类的对象的实例化 dim对象可以重复利用
java.awt.Dimension dim=new java.awt.Dimension(310,30);
//设置组件的首先大小为Dimension类的对象
account.setPreferredSize(dim);
frame.add(account);
//显示密码及对应文本框 利用JLabel类和JPasswordField类
javax.swing.JLabel labName2=new javax.swing.JLabel("密码:");
frame.add(labName2);
javax.swing.JPasswordField password =new jjavax.swing.JPasswordField();
password.setPreferredSize(dim);
frame.add(password);
//利用JCheckBox类显示记住密码 和自动登录窗口
javax.swing.JCheckBox checkbox1=new javax.swing.JCheckBox(" 记 住 密 码");
java.awt.Dimension box=new java.awt.Dimension(150,150);
checkbox1.setPreferredSize(box);
frame.add(checkbox1);
javax.swing.JCheckBox checkbox2=new javax.swing.JCheckBox(" 自 动 登 录");
checkbox2.setPreferredSize(box);
frame.add(checkbox2);
//利用JButton类 设置窗口登录
javax.swing.JButton button=new javax.swing.JButton("登录");
java.awt.Dimension dimbutton=new java.awt.Dimension(150,80);
button.setPreferredSize(dimbutton);
frame.add(button);
运行以上代码得到的结果是:
就这样我们完成了图形界面的绘制,当然这些记住密码,自动登录的选项,密码账号的输入,登录按钮没有任何的其他功能,要想其实现真正意义上的登录,敬请关注接下来会介绍的java 监听器的使用方法。