Java如何实现图形界面?实例详解

我们非常清楚java的作用,将java学好,就可以利用java做网页,做游戏,做小程序,也可以做图形界面,那Java如何实现图形界面?下面来我们就来给大家讲解一下。

图形界面要用什么来实现呢?先介绍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和普通文本的富文本组件,能实现的功能较多,JComboBox类是一个组件,它结合了一个按钮或可编辑字段与下拉列表,使用方法为:

Swing JComboBox - Swing

有了这些基础知识,下面我们来讲

具体的代码实现步骤:

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); //界面的可见性
    }
}

以上是创建窗体的步骤。得到的结果是:

Java如何实现图形界面?实例详解.png

下面我们接着来介绍添加标签类,图标类的具体方法:

// 实例化元素组件类,然后将对象添加到窗体可见
//实例化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);

运行以上代码得到的结果是:

1.png

就这样我们完成了图形界面的绘制,做图形界面还是比较复杂的,不过我们只要逻辑清晰,并用代码表现出来就可以了。最后大家如果想要了解更多java实例知识,敬请关注奇Q工具网。

推荐阅读:

qtjson是什么意思?Qt中json怎么使用?

json是什么格式的文件?json有哪些类型?

mysql数据库优化面试题有哪些?mysql数据库优化面试题