Java-GUI快速入门
本文最后更新于1688天前,其中的信息可能已经有所发展或是发生改变。

目录

1.GUI的介绍

1.1GUI概述

1.2Java提供了三个主要包做GUI开发:

2.Swing组件

2.1顶层容器介绍

2.2中间容器

2.3基本组件

3.API介绍

3.1Jframe组件

3.2Panel组件

3.3功能组件

4.案例代码

4.1UI介绍

4.2代码

5.插件介绍WindowBuilder

5.1搜索WindowBuilder

5.2.在eclipse的中安装

5.3WindowBuilder插件的使用


1.GUI的介绍

1.1GUI概述

  早期,电脑向用户提供的是单调、枯燥、纯字符状态的“命令行界面(CLI)”。就是到现在,我们还可以依稀看到它们的身影:在Windows中开个DOS窗口,就可看到历史的足迹。后来,Apple公司率先在电脑的操作系统中实现了图形化的用户界面(Graphical User Interface,简称GUI),但由于Apple公司封闭的市场策略,自己完成电脑硬件、操作系统、应用软件一条龙的产品,与其它PC不兼容。这使得Apple公司错过了一次一统全球PC的好机会。
后来,Microsoft公司推出了风靡全球的Windows操作系统,它凭借着优秀的图形化用户界面,一举奠定了操作系统标准的地位。这也造就了世界首富---比尔.盖茨和IT业的泰山北斗微软公司。
在这图形用户界面风行于世的今天,一个应用软件没有良好的GUI是无法让用户接受的。而Java语言也深知这一点的重要性,它提供了一套可以轻松构建GUI的工具。在本章和下一章中,我们将向你充分证明这一点。

1.2Java提供了三个主要包做GUI开发:

java.awt 包 – 主要提供字体/布局管理器

javax.swing 包[商业开发常用] – 主要提供各种组件(窗口/按钮/文本框)

java.awt.event 包 – 事件处理,后台功能的实现。

2.Swing组件

如图所示:swing组件主要可分为三个部分,后面会详细介绍

(1)顶层容器::常用有JFrame,JDialog

(2)中间容器:JPanel,JOptionPane,JScrollPane,JLayeredPane 等,主要以panel结尾。

(3)基本组件:JLabel,JButton,JTextField,JPasswordField,JRadioButton 等。

Java-GUI快速入门

2.1顶层容器介绍

#

组件

描述

1

JFrame

一个普通的窗口(绝大多数 Swing 图形界面程序使用 JFrame 作为顶层容器

2

JDialog

对话框

2.2中间容器

#

组件

描述

1

JPanel (相当于div)

一般轻量级面板容器组件(作为JFrame中间容器)

2

JScrollPane

带滚动条的,可以水平和垂直滚动的面板组件

3

JSplitPane

分隔面板

4

JTabbedPane

选项卡面板

5

JLayeredPane

层级面板

2.3基本组件

#

组件

描述

1

JLabel

标签

2

JButton

按钮

3

JRadioButton

单选按钮

4

JCheckBox

复选框

5

JToggleButton

开关按钮

6

JTextField

文本框

7

JPasswordField

密码框

8

JTextArea

文本区域

9

JComboBox

下拉列表框

10

JList

列表

11

JProgressBar

进度条

12

JSlider

滑块

3.API介绍

3.1Jframe组件

JFrame frame = new JFrame("HelloWorldSwing");

  // 创建及设置窗口

frame.setDefaultLookAndFeelDecorated(true);

 // 确保一个漂亮的外观风格

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

设置默认的关闭窗口

frame.pack();

   // 显示窗口

frame.setVisible(true);

//这个最好放在最后,不然会出现视图看不到的情况

frame.setBounds(600, 300, 500, 400);

设置窗口的x,y位置,窗口大小x,y.

frame.add(panel)

添加panel面板到容器

frmIpa.getContentPane().add(panel, BorderLayout.NORTH);

添加面板到主窗口,布局在北面

frmIpa.getContentPane().add(scrollPane, BorderLayout.CENTER);

添加可滚动面板到主窗口,布局在中间

3.2Panel组件

Jpanel

JPanel panel = new JPanel();

创建面板容器

panel.add(button);

添加按钮到面板

JOptionPane

JOptionPane.showMessageDialog(panel3, "没有选中任何文件", "提示", JOptionPane.WARNING_MESSAGE);

弹出提示框到panel容器

JScrollPane

JScrollPane scrollPane = new JScrollPane();

创建可滚动面板

scrollPane.setViewportView(textArea);

设置面板内容

3.3功能组件

JLabel

 JLabel label = new JLabel("Hello World");

添加标签

Jbutton

JButton button = new JButton("选择文件");

创建按钮

button.addActionListener(new ActionListener() {}

添加操作按钮后的事件监听器

JFileChooser

 jfc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES );

// 设置文件对话框

jfc.showSaveDialog(frmIpa);

// 显示打开的文件对话框

jfc.getSelectedFile();

// 获取选择器选择的文件

JTextArea

JTextArea textArea = new JTextArea();

创建文本区域

textArea.setText(content);

设置内容

4.案例代码

这个UI是用来读取ipa文件info.plist中的信息,有需要的朋友可以去下面链接看看

https://blog.csdn.net/qq_42035966/article/details/82086462

4.1UI介绍

主窗口Jframe,

Jframe添加2个Jpanel面板,

北面Jpanel添加JButton,JButton打开JFileChooser文件对话框。

中间JScrollPane添加JTextArea文本区域,文本区域按各自业务逻辑来处理。

Java-GUI快速入门

4.2代码

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class IpaUI {
	public static JFrame frmIpa;
	public JTextArea textArea;

	public IpaUI() {
		// 窗口框架
		frmIpa = new JFrame();
		frmIpa.setTitle("ipa工具类");
		frmIpa.setBounds(600, 300, 500, 400);
		frmIpa.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		// 面板1
		JPanel panel = new JPanel();
		frmIpa.getContentPane().add(panel, BorderLayout.NORTH);
		JButton button = new JButton("选择文件");
		// 监听button的选择路径
		button.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				// 显示打开的文件对话框
				JFileChooser jfc = new JFileChooser();
				jfc.showSaveDialog(frmIpa);
				try {
					// 使用文件类获取选择器选择的文件
					File file = jfc.getSelectedFile();//
					//这里是我的业务需求,各位不必照抄
//					String content = IpaService.getIpaInfoMap(file.toString());
//					textArea.setText(content);
				} catch (Exception e2) {
					JPanel panel3 = new JPanel();
					JOptionPane.showMessageDialog(panel3, "没有选中任何文件", "提示", JOptionPane.WARNING_MESSAGE);
				}
			}
		});
		panel.add(button);

		// 可滚动面板
		JScrollPane scrollPane = new JScrollPane();
		frmIpa.getContentPane().add(scrollPane, BorderLayout.CENTER);
		textArea = new JTextArea();
		scrollPane.setViewportView(textArea);
		//这个最好放在最后,否则会出现视图问题。
		frmIpa.setVisible(true);
	}

}
​

5.插件介绍WindowBuilder

总算骗大家看完文章,其实最方便的方法是用插件制作,当然大家先了解完代码原理是最好的哈哈。eclispe安装windowbuilder有两种方式,一种是离线安装,一种是在线安装。

5.1搜索WindowBuilder

找到http://www.eclipse.org/windowbuilder/download.php

Java-GUI快速入门

根据自己的eclipse版本选择,因为我的是4.8版本了,所以只能在线安装。

5.2.在eclipse的中安装

(1)选择Help - Eclipse MarketPlace

Java-GUI快速入门

(2) 在商店中搜索windowbuilder ,会出现WindowBuilder插件

Java-GUI快速入门

(3)一路下一步,进行安装,等待安装结束重启eclipse即可。

5.3WindowBuilder插件的使用

(1)在Eclipe菜单中File - New -Other ,选中WindowBuilder - Swing Designer - JFrame。

Java-GUI快速入门

(2)打开文件,点击左下角的Design进入视图模式,左边对应代码模式

左上是整个视图结构,左下是单个结构的属性,可以在这里修改窗口的一些属性,

中间是整个swing的界面按钮,前面第二点介绍过的,这里就不说了,

右边就是视图了,可以点击按钮往视图里面添加,如下图。

Java-GUI快速入门

本文来源于互联网:Java-GUI快速入门

点击数:115

    暂无评论

    发送评论 编辑评论

    
    				
    |´・ω・)ノ
    ヾ(≧∇≦*)ゝ
    (☆ω☆)
    (╯‵□′)╯︵┴─┴
     ̄﹃ ̄
    (/ω\)
    ∠( ᐛ 」∠)_
    (๑•̀ㅁ•́ฅ)
    →_→
    ୧(๑•̀⌄•́๑)૭
    ٩(ˊᗜˋ*)و
    (ノ°ο°)ノ
    (´இ皿இ`)
    ⌇●﹏●⌇
    (ฅ´ω`ฅ)
    (╯°A°)╯︵○○○
    φ( ̄∇ ̄o)
    ヾ(´・ ・`。)ノ"
    ( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
    (ó﹏ò。)
    Σ(っ °Д °;)っ
    ( ,,´・ω・)ノ"(´っω・`。)
    ╮(╯▽╰)╭
    o(*////▽////*)q
    >﹏<
    ( ๑´•ω•) "(ㆆᴗㆆ)
    😂
    😀
    😅
    😊
    🙂
    🙃
    😌
    😍
    😘
    😜
    😝
    😏
    😒
    🙄
    😳
    😡
    😔
    😫
    😱
    😭
    💩
    👻
    🙌
    🖕
    👍
    👫
    👬
    👭
    🌚
    🌝
    🙈
    💊
    😶
    🙏
    🍦
    🍉
    😣
    Source: github.com/k4yt3x/flowerhd
    颜文字
    Emoji
    小恐龙
    花!
    上一篇
    下一篇