⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 combobox.java

📁 java编程百例
💻 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 + -