溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java Swing JComboBox下拉列表框的示例代碼

發(fā)布時間:2020-09-08 14:47:42 來源:腳本之家 閱讀:234 作者:xietansheng 欄目:編程語言

1. 概述

官方JavaDocsApi: javax.swing.JComboBox

JComboBox,下拉列表框。JComboBox以下列列表的形式展示多個選項,用戶可以從下拉列表中選擇一個值。

其中的選項內(nèi)容由一個 ComboBoxModel 實(shí)例來維護(hù)。

如果設(shè)置JComboBox為可編輯狀態(tài),除了選擇指定的選項值外,還允許用戶自行輸入值(自行輸入的值索引為-1)。

JComboBox 常用構(gòu)造方法:

/**
 * 一個 JComboBox 實(shí)例維護(hù)這一個 ComboBoxModel 實(shí)例。
 * ComboBoxModel 實(shí)例可以直接創(chuàng)建,也可以通過把 數(shù)組 或 集合 傳遞到 JComboBox 中間接創(chuàng)建。
 * JComboBox 內(nèi)部創(chuàng)建的 ComboBoxModel 實(shí)例是 DefaultComboBoxModel。
 */
JComboBox()

JComboBox(ComboBoxModel model)

JComboBox(Object[] items)

JComboBox(Vector<?> items)

JComboBox 常用方法:

// 設(shè)置選中的索引
void setSelectedIndex(int index)

// 獲取當(dāng)前選中的索引
int getSelectedIndex()

// 獲取當(dāng)前選中的數(shù)據(jù)項
Object getSelectedItem()

// 設(shè)置選項數(shù)據(jù)模型
void setModel(ComboBoxModel<?> model)

// 獲取維護(hù)選項數(shù)據(jù)的 ComboBoxModel。
// 再通過 model.getElementAt(int index) 和 model.getSize() 
// 可分別 獲取指定索引的選項數(shù)據(jù) 和 選項數(shù)量。
ComboBoxModel<?> getModel()

// 添加選項選中狀態(tài)改變的監(jiān)聽器
void addItemListener(ItemListener listener)

// 設(shè)置下拉列表框是否可編輯,默認(rèn)不可編輯。
// 如果設(shè)置為可編輯,則除了選擇指定的選項值外,還允許用戶自行輸入值(自行輸入的值索引為-1)
void setEditable(boolean flag)

2. 代碼實(shí)例

package com.xiets.swing;

import javax.swing.*;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

public class Main {

  public static void main(String[] args) {
    JFrame jf = new JFrame("測試窗口");
    jf.setSize(250, 250);
    jf.setLocationRelativeTo(null);
    jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

    JPanel panel = new JPanel();

    // 添加一個標(biāo)簽
    JLabel label = new JLabel("水果:");
    panel.add(label);

    // 需要選擇的條目
    String[] listData = new String[]{"香蕉", "雪梨", "蘋果", "荔枝"};

    // 創(chuàng)建一個下拉列表框
    final JComboBox<String> comboBox = new JComboBox<String>(listData);

    // 添加條目選中狀態(tài)改變的監(jiān)聽器
    comboBox.addItemListener(new ItemListener() {
      @Override
      public void itemStateChanged(ItemEvent e) {
        // 只處理選中的狀態(tài)
        if (e.getStateChange() == ItemEvent.SELECTED) {
          System.out.println("選中: " + comboBox.getSelectedIndex() + " = " + comboBox.getSelectedItem());
        }
      }
    });

    // 設(shè)置默認(rèn)選中的條目
    comboBox.setSelectedIndex(2);

    // 添加到內(nèi)容面板
    panel.add(comboBox);

    jf.setContentPane(panel);
    jf.setVisible(true);
  }

}

結(jié)果展示:

Java Swing JComboBox下拉列表框的示例代碼

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI