📄 combobox.java
字号:
package ch02.section05;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ComboBox
extends JPanel {
//声明一个标签
JLabel picture;
public ComboBox() {
String[] petStrings = {
"鸟", "猫", "狗", "兔子", "猪"};
// 创建下拉列表
JComboBox petList = new JComboBox(petStrings);
//第4被选中
petList.setSelectedIndex(3);
//注册事件监听
petList.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//返回事件源对象
JComboBox cb = (JComboBox) e.getSource();
//返回下拉列表被选中的项的标签
String petName = (String) cb.getSelectedItem();
//JLabel重新设置显示的图片
picture.setIcon(new ImageIcon("images/" + petName + ".gif"));
}
});
// 实现一个标签对象,显示的图片为下拉列表中被选中的项所对应的图片
picture = new JLabel(new ImageIcon("images/" +
petStrings[petList.getSelectedIndex()] +
".gif"));
picture.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0));
picture.setPreferredSize(new Dimension(177, 122 + 10));
// 设置布局
setLayout(new BorderLayout());
//将下拉列表放在容器的上边
add(petList, BorderLayout.NORTH);
//将标签放在容器的下边,用来显示选的图片
add(picture, BorderLayout.SOUTH);
setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
}
public static void main(String s[]) {
JFrame frame = new JFrame("ComboBox");
frame.addWindowListener(new WindowAdapter() {
//注册窗口关闭事件
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
frame.setContentPane(new ComboBox());
//显示窗口
frame.pack();
frame.setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -