[Java GUI]学习笔记1
Posted huamanggg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Java GUI]学习笔记1相关的知识,希望对你有一定的参考价值。
前言
在看了书上的案例,都选择继承JFrame,实现Listener接口
- 继承JFrame,实现接口,ActionListener、KeyListener
- 定义组件
- 析构方法,实例化组件,add进panel
- 如果有需要就为组件添加监听
基本组件
JLabel(标签)
JButton(按钮)
ButtonGroup(按钮组)
JRadioButton(单选按钮)
JCheckBox(复选框)
JToggleButton(开关按钮)
JTextField(文本框)
JPasswordField(密码框)
JTextArea(文本区域)
JComboBox(下拉列表框)
JList(列表框)
JProgressBar(进度条)
JSlider(滑块)
JFrame
常用方法
// 设置窗口的 标题
void setTitle(String title)
// 设置窗口的 图标
void setIconImage(Image image)
// 设置窗口的 宽高
void setSize(int width, int height)
void setSize(Dimension d)
/**
* 设置窗口关闭按钮点击后的默认操作, 参考值:
* WindowConstants.DO_NOTHING_ON_CLOSE: 不执行任何操作。
* WindowConstants.HIDE_ON_CLOSE: 隐藏窗口(不会结束进程), 再次调用 setVisible(true) 将再次显示。
* WindowConstants.DISPOSE_ON_CLOSE: 销毁窗口, 如果所有可显示的窗口都被 DISPOSE, 则可能会自动结束进程。
* WindowConstants.EXIT_ON_CLOSE: 退出进程。
*/
void setDefaultCloseOperation(int operation)
// 设置窗口是否可放大缩小
void setResizable(boolean resizable)
// 设置窗口的 位置(相对于屏幕左上角)
void setLocation(int x, int y)
void setLocation(Point p)
// 设置窗口的 位置 和 宽高
void setBounds(int x, int y, int width, int height)
void setBounds(Rectangle rect)
// 获取窗口的位置坐标(相对于屏幕坐标空间)
Point getLocationOnScreen()
// 获取窗口的位置坐标(相对于父级坐标空间, 窗口的父级一般就是屏幕)
Point getLocation()
/**
* 设置窗口的相对位置。
* 如果 comp 整个显示区域在屏幕内, 则将窗口放置到 comp 的中心;
* 如果 comp 显示区域有部分不在屏幕内, 则将该窗口放置在最接近 comp 中心的一侧;
* comp 为 null, 表示将窗口放置到屏幕中心。
*/
void setLocationRelativeTo(Component comp)
// 设置将窗口 置顶 显示
void setAlwaysOnTop(boolean alwaysOnTop)
// 设置窗口的内容面板
void setContentPane(Container contentPane)
// 设置窗口是否可见, 窗口对象刚创建和添加相应组件后通过 setVisible(true) 绘制窗口, 其内部组件可能要此时才有宽高值
void setVisible(boolean b)
// 判断窗口是否处于显示状态
boolean isShowing()
// 销毁窗口, 释放窗口及其所有子组件占用的资源, 之后再次调用 setVisible(true) 将会重构窗口
void dispose()
// 调整窗口的大小, 以适合其子组件的首选大小和布局。
void pack()
JButton
构造方法
// 创建不带有设置文本或图标的按钮
JButton()
// 创建一个带文本的按钮
JButton(String text)
// 创建一个带图标的按钮
JButton(Icon icon)
常用方法
// 设置按钮的 文本、字体 和 字体颜色
void setText(String text)
void setFont(Font font)
void setForeground(Color fg)
/* 以下方法定义在 javax.swing.AbstractButton 基类中 */
// 设置按钮是否可用
void setEnabled(boolean enable)
// 设置按钮在 默认、按下、不可用 时显示的图片
void setIcon(Icon defaultIcon)
void setPressedIcon(Icon pressedIcon)
void setDisabledIcon(Icon disabledIcon)
// 是否绘制边框(设置不绘制边框,再结合上面三个设置按钮状态图片的方法,可实现自定义按钮)
void setBorderPainted(boolean b);
// 获取按钮上的字符
String getActionCommand()
// 设置按钮上的字符
setActionCommand()
监听方法
// 添加 和 移除 按钮的点击事件
void addActionListener(ActionListener listener)
void removeActionListener(ActionListener listener)
实例
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Work1 {
public static void main(String[] argv){
final int[] c = {0};
JFrame f = new JFrame("test");
f.setSize(300,300);
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
JButton b = new JButton();
b.setText("点击");
b.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
c[0]++;
b.setText("点击"+c[0]+"次");
}
});
panel.add(b);
f.setContentPane(panel);
f.setVisible(true);
}
}
JTextField
// 获取文本框中的文本
String getText()
// 设置文本框的 文本、字体 和 字体颜色
void setText(String text)
void setFont(Font font)
void setForeground(Color fg)
// 设置颜色,分别为: 光标颜色、呈现选中部分的背景颜色、选中部分文本的颜色、不可用时文本的颜色
void setCaretColor(Color c)
void setSelectionColor(Color c)
void setSelectedTextColor(Color c)
void setDisabledTextColor(Color c)
// 设置文本内容的水平对齐方式
void setHorizontalAlignment(int alignment)
// 设置文本框是否可编辑
void setEditable(boolean b)
/* 下面方法定义在 java.awt.Component 基类中 */
// 判断组件当前是否拥有焦点
boolean isFocusOwner()
// 设置组件是否可用
void setEnabled(boolean b)
以上是关于[Java GUI]学习笔记1的主要内容,如果未能解决你的问题,请参考以下文章
Java学习笔记8.2.1 JDBC实战 - 基于JDBC的GUI用户登录
[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段