图形用户界面程序

图形用户界面

在这里插入图片描述

swing框架

在这里插入图片描述

java.awt.Component

component 是一个具有图形表示能力的对象,可在屏幕上显示,并可与用户进行交互
在这里插入图片描述

javax.swing.JOptionPane

选项面板类
在这里插入图片描述

javax.swing.JFileChooser

文件选择类
在这里插入图片描述

javax.swing.JColorChooser

颜色选择类
在这里插入图片描述

java.awt.Canvas

Canvas 组件表示屏幕上一个空白矩形区域,应用程序可以在该区域内绘图,或者可以从该区域捕获用户的输入事件。

应用程序必须为 Canvas 类创建子类,以获得有用的功能(如创建自定义组件)。必须重写 paint 方法,以便在 canvas 上执行自定义图形。
类说明文档

java.awt.Container

容器类
在这里插入图片描述

javax.swing.JFrame

顶级容器窗口类
在这里插入图片描述
Java虚拟机统一负责绘图操作的调度
当需要在组件中显示信息时,程序员应当调用组件的重绘方法repaint()
Java虚拟机在接收到绘图请求后会调用组件的绘图方法paint()
继承并扩展组件类,重写组件的绘图方法paint()
注:程序员不要直接调用组件的paint()方法,而应通过repaint()方法进行间接调用

javax.swing.JDialog

模式对话框:用户必须完成对话框所规定的数据输入或功能选择,然后才能返回父窗口,继续操作程序。模式对话框打开后,本程序中的其他窗口都被禁止操作

非模式对话框:并不会影响用户操作本程序中的其他窗口,非模式对话框可以与其他窗口同时操作
在这里插入图片描述

javax.swing.JComponent

除顶层容器之外的所有Swing组件的基类
在这里插入图片描述

Javax.swing.JPanel

子容器

JPanel() 创建一个具有双缓冲和流动布局的新JPanel。
JPanel(booleanisDoubleBuffered) 创造具有FlowLayout布局和指定的缓冲策略的新JPanel。
JPanel(LayoutManagerlayout) 创建一个具有双缓冲和指定布局的新JPanel。
JPanel(LayoutManagerlayout,booleanisDoubleBuffered) 创建一个指定缓冲策略和指定布局的新JPanel。

PanelUI getUI() -返回渲染该组件的PanelUI对象

String getUIClassID() -获取渲染组件的类的名字

protected String paramString()- 返回此JPanel的字符串表示。此方法仅用于调试目的,返回的字符串的内容和格式在实现中可能会有所不同。返回的字符串可能是空的,但可能不是空的。

void setUI(PanelUI ui) -设置渲染该组件的外观和感觉的对象为ui

void updateUI() -更当前的UI属性

javax.swing.JMenuBar

菜单栏
说明文档

javax.swing.JToolBar

工具栏
说明文档

图形组件

javax.swing.text.JTextComponent

文本组件类
在这里插入图片描述

javax.swing.JTextField

文本字段类
在这里插入图片描述

javax.swing.JTextArea

文本区域类
在这里插入图片描述

javax.swing.AbstractButton

抽象按钮类
在这里插入图片描述

javax.swing.JButton

按钮类
在这里插入图片描述

javax.swing.JCheckBox

复选框

void setText(String text)
void setFont(Font font)
void setForeground(Color fg)
// 设置复选框是否选中状态
void setSelected(boolean b)
// 判断复选框是否选中
boolean isSelected()
// 设置复选框是否可用
void setEnabled(boolean enable)
// 设置图片和文本的间距
void setIconTextGap(int iconTextGap)
// 添加状态改变监听器
void addChangeListener(ChangeListener l)

javax.swing.JRadioButton

单选按钮

// 设置单选按钮的 文本、字体 和 字体颜色
void setText(String text)
void setFont(Font font)
void setForeground(Color fg)
// 设置单选按钮是否选中状态
void setSelected(boolean b)
// 判断单选按钮是否选中
boolean isSelected()
// 设置单选按钮是否可用
void setEnabled(boolean enable)
// 设置单选按钮在 默认、被选中、不可用 时显示的图片
void setIcon(Icon defaultIcon)
void setPressedIcon(Icon pressedIcon)
void setDisabledIcon(Icon disabledIcon)
// 设置图片和文本的间距
void setIconTextGap(int iconTextGap)
// 添加状态改变监听器
void addChangeListener(ChangeListener l)

// 创建一个按钮组
ButtonGroup btnGroup = new ButtonGroup();

javax.swing.JLabel

标签类
在这里插入图片描述

javax.swing.JComboBox

下拉列表框

addActionListener(ActionListener l)
          添加 ActionListener。
addItem(Object anObject)
          为项列表添加项。
addItemListener(ItemListener aListener)
          添加 ItemListener。
configureEditor(ComboBoxEditor anEditor, Object anItem)
          利用指定项初始化编辑器。
getEditor()
          返回用于绘制和编辑 JComboBox 字段中所选项的编辑器。
getItemAt(int index)
          返回指定索引处的列表项。
getItemCount()
          返回列表中的项数。
getModel()
          返回 JComboBox 当前使用的数据模型。
getRenderer()
          返回用于显示 JComboBox 字段中所选项的渲染器。
getSelectedIndex()
          返回列表中与给定项匹配的第一个选项。
getSelectedItem()
          返回当前所选项。
insertItemAt(Object anObject, int index)
          在项列表中的给定索引处插入项。
isEditable()
          如果 JComboBox 可编辑,则返回 trueremoveAllItems()
          从项列表中移除所有项。
removeItem(Object anObject)
          从项列表中移除项。
removeItemAt(int anIndex)
          移除 anIndex 处的项。
setModel(ComboBoxModel aModel)
          设置 JComboBox 用于获取项列表的数据模型。
setRenderer(ListCellRenderer aRenderer)
          设置渲染器,该渲染器用于绘制列表项和从 JComboBox 字段的列表中选择的项。
setSelectedIndex(int anIndex)
          选择索引 anIndex 处的项。
setSelectedItem(Object anObject)
          将组合框显示区域中所选项设置为参数中的对象

javax.swing.JList

列表框
类说明文档

javax.swing.JTable

二维表格
类说明文档

布局管理

流式布局(FlowLayout)

w.setTitle( "流式布局FlowLayout" ); // 设置窗口标题
Container cp = w.getContentPane(); // 获得窗口w的内容面板
FlowLayout fl = new FlowLayout;
cp.setLayout(fl);
cp.validate(); // 检查并自动布局容器里的组件

边框布局(BorderLayout)

w.setTitle( "边框布局BorderLayout" ); // 设置窗口标题
Container cp = w.getContentPane(); // 获得窗口w的内容面板
cp.setLayout( new BorderLayout() );
cp.add( btn[0], BorderLayout.NORTH ); // 添加组件
cp.add( btn[1], BorderLayout.SOUTH );
cp.add( btn[2], BorderLayout.WEST );
cp.add( btn[3], BorderLayout.EAST );
cp.add( btn[4], BorderLayout.CENTER );
cp.validate(); // 检查并自动布局容器里的组件

网格布局(GridLayout)

w.setTitle( "网格布局GridLayout" ); // 设置窗口标题
Container cp = w.getContentPane();
cp.setLayout( new GridLayout(3, 3) ); // 3行3列的网格

卡片式布局(CardLayout)

w.setTitle( "卡片式布局CardLayout" );
Container cp = w.getContentPane();
CardLayout cl = new CardLayout(); // 创建卡片式布局对象
cp.setLayout( cl ); // 将内容面板设为卡片式布局
for (int n = 0; n < btn.length; n++) // 添加组件
cp.add( btn[n] );
cp.validate(); // 检查并自动布局容器里的组件
cl.first( cp ); // 显示第一张卡片
cl.next( cp ); // 显示下一张卡片
cl.previous( cp ); // 显示上一张卡片

java.awt.Graphics

在这里插入图片描述

java.awt.Color

在这里插入图片描述

java.awt.Font

在这里插入图片描述

Java事件响应机制

用户触发了某种事件(event):用户操作某个组件
事件源(event source): 用户所操作的组件
事件类:区分用户的不同操作
监听器(listener)接口:每种事件的一个算法接口

1.定义实现某个监听器接口的监听器类 或 使用匿名类直接创建监听器对象
2.为图形组件注册(或称添加)一个监听器对象
3.当用户操作图形组件触发某个事件时,Java虚拟机会调用该图形组件预先注册好的监听器对象中的处理方法

– 简化事件监听器代码:匿名类

button.addActionListener( new ActionListener() {
	public void actionPerformed(ActionEvent e) {
		text.setText( "你好,世界!");
	}
} );

Java API中常用的事件类

在这里插入图片描述

Java API中各事件类的监听器接口

在这里插入图片描述
在这里插入图片描述

java.applet.Applet

小应用程序类
详细文档
Java小应用程序是一种早期用于增强HTML网页表现力的技术
在这里插入图片描述
在这里插入图片描述

参考

发布了74 篇原创文章 · 获赞 23 · 访问量 7201

猜你喜欢

转载自blog.csdn.net/BennetMa/article/details/102960988