GUI编程学习笔记-3,根据目录食用~
文章目录
1、JFrame窗体
JFrame窗口关闭:jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
跟Frame差不多,基础例子:
文本标签位置,例如居中,方法:
法一:
JLabel label = new JLabel("hello jlabel", SwingConstants.CENTER);
法二:
JLabel label = new JLabel("hello jlabel";
label.setHorizontalAlignment(SwingConstants.CENTER);
2、JDialog弹窗
默认有关闭事件
// 主窗口
public class DialogDemo extends JFrame {
public DialogDemo() {
this.setVisible(true);
this.setSize(700, 500);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
// JFrame放东西,容器
Container container = this.getContentPane();
// 绝对布局
container.setLayout(null);
// 按钮
JButton button = new JButton("点击弹出一个对话框");
button.setBounds(30, 30, 200, 50);
// 点击按钮弹出一个弹窗(监听事件)
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
new MyDialogDemo();
}
});
container.add(button);
}
public static void main(String[] args) {
new DialogDemo();
}
}
// 弹窗的窗口
class MyDialogDemo extends JDialog {
public MyDialogDemo() {
this.setVisible(true);
this.setBounds(100, 100, 500, 500);
// 这里重复了,会报错(弹窗是绝对布局)
// this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
Container container = this.getContentPane();
container.setLayout(null);
container.add(new Label("java。。。。。"));
}
}
3、标签
Icon标签
ImageIcon标签
4、面板 JPanel
Container container = this.getContentPane(); // 获得一个容器
container.setLayout(new GridLayout(2,1,10,10));
JPanel panel1 = new JPanel(new GridLayout(1,3));
panel1.add(new JButton("1"));
panel1.add(new JButton("1"));
panel1.add(new JButton("1"));
container.add(panel1);
文本域面板 JScrollPanel (带滚动条)
Container container = this.getContentPane();
// 文本域
JTextArea jTextArea = new JTextArea(20, 50);
jTextArea.setText("hello 欢迎回来");
// Scroll面板
JScrollPane scrollPane = new JScrollPane(jTextArea);
container.add(scrollPane);
5、按钮
图片按钮 ImageIcon
Container container = this.getContentPane();
// 将一个图片编程图标
URL url = JButtonDemo.class.getResource("./6.png");// 获取图片地址
ImageIcon icon = new ImageIcon(url);
// 将该图标放在按钮上
JButton button = new JButton();
button.setIcon(icon);
button.setToolTipText("图片按钮");
单选按钮 JRadioButton
// 单选框
JRadioButton jRadioButton1 = new JRadioButton("JRadioButton1");
JRadioButton jRadioButton2= new JRadioButton("JRadioButton2");
JRadioButton jRadioButton3 = new JRadioButton("JRadioButton3");
// 单选框只能选一个,分组,,一个组中只能选一个
ButtonGroup buttonGroup = new ButtonGroup();
buttonGroup.add(jRadioButton1);
buttonGroup.add(jRadioButton2);
buttonGroup.add(jRadioButton3);
container.add(jRadioButton1, BorderLayout.NORTH);
container.add(jRadioButton2, BorderLayout.CENTER);
container.add(jRadioButton3, BorderLayout.SOUTH);
复选按钮 JCheckBox
// 多选框
JCheckBox checkbox1 = new JCheckBox("checkbox1");
JCheckBox checkbox2 = new JCheckBox("checkbox2");
container.add(checkbox1, BorderLayout.NORTH);
container.add(checkbox2, BorderLayout.SOUTH);
6、下拉框 JComboBox
JComboBox jComboBox = new JComboBox();
jComboBox.addItem(null);
jComboBox.addItem("男");
jComboBox.addItem("女");
7、列表框 JList
列表框一般用于展示信息,动态扩容
内容静态初始化
Container container = this.getContentPane();
// 生成列表的内容,静态初始化
String[] contents = {"苹果", "香蕉", "西瓜"};
// 列表中需要放入内容
JList jList = new JList(contents);
container.add(jList);
内容动态初始化
Container container = this.getContentPane();
Vector contents = new Vector();
contents.add("香蕉");
contents.add("西瓜");
contents.add("苹果");
JList jList = new JList(contents);
container.add(jList);
8、文本框 JTextField
Container container = this.getContentPane();
JTextField jTextField1 = new JTextField("hello 你好");
JTextField jTextField2 = new JTextField("world 世界",20);
container.add(jTextField1,BorderLayout.NORTH);
container.add(jTextField2,BorderLayout.SOUTH);
9、密码框 JPasswordField
Container container = this.getContentPane();
JPasswordField jPasswordField = new JPasswordField();
jPasswordField.setEchoChar('*');
container.add(jPasswordField);
监听事件:
jPasswordField.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println(jPasswordField.getPassword());
}
});
10、文本域 JTextArea
JTextArea jTextArea = new JTextArea(20, 50);
jTextArea.setText("hello 欢迎回来");