gui图形用户界面编程,java实现gui界面
GUI的全过程就是图形用户界面,也就是图形用户界面。顾名思义,GUI是用户可以直接操作的图形界面,包括窗口、菜单、按钮、工具栏等图形界面元素。目前,图形用户界面已经成为一种趋势,几乎所有的编程语言都提供了GUI设计功能。
为Java GUI设计提供了丰富的类库,位于Java中。AWT和javax。Swing包,简称awt和swing。AWT引入了大量的Windows功能,因此被称为中等重量级组件。Swing是基于AWT的轻量级图形界面组件,广泛应用于java图形界面开发。本文将讲解Swing的相关知识。
Swing概述:
Swing是一个用Java语言开发图形界面的工具包。基于抽象窗口工具包(AWT),它允许跨平台应用程序使用可插拔的外观样式。Swing有丰富的库和组件,使用起来非常灵活。开发人员只需几段代码就可以创建一个良好的用户界面。
在Java中,所有Swing组件都存储在javax中。秋千套餐。为了有效地使用swing组件,我们必须知道Swing包的层次结构和继承关系。
Swing组件的所有类都继承自容器类,然后根据GUI开发的功能扩展出两个主要分支,即容器分支和组件分支。其中,容器分支设计为实现图形用户界面窗口的容器,组件分支设计为用数据、元素和交互组件填充容器。
在容器分支中,Swing组件类中有三个组件继承自AWT的Window类,而不是JComponent类。这三个组件是Swing中的顶级容器类,分别是JWindow、JFrame和JDialog。其中,JFrame和JDialog是最简单、最常用的顶层容器。本文将详细解释这两个顶级容器的基本用法。
JFrame是独立存在的顶层容器(也叫window),不能放在其他容器中。JFrame支持一般窗口的所有基本功能,如窗口最小化、窗口大小设置等。
JFrame案例:
导入javax . imageio . imageio;导入javax . swing . *;导入Java . awt . *;导入Java . io . file;导入Java . io . io exception;ClassGUI _ 1JFrame常用方法ExtendsJFrame { public static void main(string[]args){//用SwingUtilities工具调用createAndShowGUI()。该方法稍后显示GUI程序swing utilities . invoke(GUI _ 1j frame common method :3360 createandshowgui);}私有静态Void CreateAndShowGUI(){//创建并设置JFrame容器窗口JFrame=new JFrame( jframetext );//设置和关闭窗口时设置默认动作frame . setdefaultcloseoperation(jframe . exit _ on _ close);//设置窗口标题frame . settitle( window );//设置窗口大小frame.setSize(350,300);//设置窗口显示位置frame.setLocation(300,200);//让组件显示frame . set visible(true);//更改窗口图标图像图像;请尝试{ image=ImageIO.read(新文件(图像路径));frame.setIconImage(图像);} catch(io exception e){ e . printstacktrace();}//获取标题system . out . println(frame . gettitle());}}JDialog,是Swing的另一个顶级容器,表示类似对话框的对话框窗口。JDialog对话框可以分为两种类型,即模态对话框和非模态对话框。模态对话框是指用户需要处理当前对话框才能继续与其他窗口交互的对话框,而非模态对话框则允许用户在处理对话框的同时与其他窗口交互。
JDialog案例:
导入javax . swing . *;导入Java . awt . *;导入Java . awt . event . action event;公共类jdialog { public static void main(String[]args){//
建立两个按钮 JButton btn1=new JButton("模态对话框"); JButton btn2=new JButton("非模态对话框"); //创建并设置JFrame容器窗口 JFrame f=new JFrame("DialogDemo"); //设置窗口尺寸 f.setSize(300,250); //设置窗口显示位置 f.setLocation(300,200); f.setLayout(new FlowLayout());//为内容面板设置布局管理器 //在Container对象上添加按钮 f.add(btn1); f.add(btn2); //设置单击关闭按钮默认关闭窗口 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //让组件显示 f.setVisible(true); final JLabel label=new JLabel(); //定义一个JDialog对话框 final JDialog dialog=new JDialog(f,"Dialog"); dialog.setSize(220,150);//设置对话框大小 dialog.setLocation(350,250);//设置对话框位置 dialog.setLayout(new FlowLayout());//设置布局管理器 final JButton btn3=new JButton("确定");//创建按钮对象 dialog.add(btn3);//在对话框的内容面板添加按钮 //为“模态对话框”按钮添加单击事件 btn1.addActionListener(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { //设置对话框为模态 dialog.setModal(true); //如果JDialog窗口中没有添加JLabel标签,就把JLabel标签加上 if(dialog.getComponents().length==1){ dialog.add(label); } //否则修改标签的内容 label.setText("模态对话框,单击确定按钮关闭"); //显示对话框 dialog.setVisible(true); } }); //为“非模态对话框”按钮添加单击事件 btn2.addActionListener(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { //设置对话框为非模态 dialog.setModal(false); //如果JDialog窗口中没有添加JLabel标签,就把JLabel标签加上 if(dialog.getComponents().length==1){ dialog.add(label); } //否则修改标签的内容 label.setText("非模态对话框,单击确定按钮关闭"); //显示对话框 dialog.setVisible(true); } }); //为对话框中的按钮添加单击事件 btn3.addActionListener(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { dialog.dispose(); } }); }}补充小知识:JPanel
扩展上面的JFrame案例
import javax.imageio.ImageIO;import javax.swing.*;import java.awt.*;import java.io.File;import java.io.IOException;public class GUI_1常用方法 extends JFrame { public static void main(String[] args) { //使用SwingUtilities工具调用createAndShowGUI()方法显示GUI程序 SwingUtilities.invokeLater(GUI_1常用方法::createAndShowGUI); } private static void createAndShowGUI() { //创建并设置JFrame容器窗口 JFrame frame = new JFrame("JFrameText"); //设置并关闭窗口时的默认操作 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置窗口标题 frame.setTitle("窗口"); //设置窗口尺寸 frame.setSize(350, 300); //设置窗口显示位置 frame.setLocation(300, 200); //让组件显示 frame.setVisible(true); //改变窗口图标 Image image; try{ image= ImageIO.read(new File("图片路径")); frame.setIconImage(image); }catch (IOException e){ e.printStackTrace(); } //获取标题 System.out.println(frame.getTitle()); //创建JPanel对象 JPanel jp=new JPanel(); //设置字体大小 Font font=new Font("仿宋",Font.BOLD,20); //JLabel() ==>创建一个没有图像的 JLabel实例,标题为空字符串。 //JLabel(String text) ==>使用指定的文本创建一个 JLabel实例。 JLabel jl1=new JLabel("用户名:"); jl1.setFont(font);//设置统一的字体,看起来更美观整齐 //JTextField(String text) ==>构造一个新的 TextField ,用指定的文本初始化。 JTextField jf1=new JTextField("请输入用户名:",20); jf1.setFont(font);//设置统一的字体 JLabel jl2=new JLabel("密码:"); jl2.setFont(font);//设置统一的字体 JTextField jf2=new JTextField("请输入密码:",20); jf2.setFont(font);//设置统一的字体 //建立按钮 JButton jb1=new JButton("登录"); jb1.setFont(font);//设置统一的字体 JButton jb2=new JButton("退出"); jb2.setFont(font);//设置统一的字体 //将这些文本和按钮添加到JPanel对象中,然后再将JPanel对象添加到JFrame对象中去 jp.add(jl1); jp.add(jf1); jp.add(jl2); jp.add(jf2); jp.add(jb1); jp.add(jb2); frame.add(jp); //让组件显示 frame.setVisible(true); }}
到此这篇关于Java深入学习图形用户界面GUI之创建窗体的文章就介绍到这了,更多相关Java GUI创建窗体内容请搜索盛行IT以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。