我们非常清楚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); //界面的可见性 } }
以上是创建窗体的步骤。得到的结果是:
下面我们接着来介绍添加标签类,图标类的具体方法:
// 实例化元素组件类,然后将对象添加到窗体可见 //实例化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实例知识,敬请关注奇Q工具网。
推荐阅读: