在看了书上的案例,都选择继承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) 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() 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) // 设置按钮是否可用 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) // 判断组件当前是否拥有焦点 boolean isFocusOwner() // 设置组件是否可用 void setEnabled(boolean b)


![[Java GUI]学习笔记1 [Java GUI]学习笔记1](http://www.mshxw.com/aiimages/31/531117.png)
