簡體   English   中英

Java GUI使用ArrayList填充組合框值

[英]Java GUI Fill Combo box values with ArrayList

我正在嘗試用ArrayList的值填充ComboBox,但我不知道如何。 我希望數據來自ArrayList COM = new ArrayList();。 我已經擁有的:

private void initComponents() {
    selectedComPort = new javax.swing.JComboBox();

    selectedComPort.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "COM 1", "COM 2" }));
    selectedComPort.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            selectedComPortActionPerformed(evt);
        }
    });
}

private void selectedComPortActionPerformed(java.awt.event.ActionEvent evt) {

}

public static void main(String args[]) {
    // Search all available COM ports and put them into a ArrayList
    ArrayList<String> COM = new ArrayList<String>();
    Enumeration portList = CommPortIdentifier.getPortIdentifiers();
    while (portList.hasMoreElements()) {
        CommPortIdentifier portId = (CommPortIdentifier) portList.nextElement();
        if (portId.getPortType() == CommPortIdentifier.PORT_PARALLEL) {
            System.out.println("No COM ports found");
            } else {
            COM.add(portId.getName());
        }
    }
    System.out.println(COM);
}

private javax.swing.JComboBox selectedComPort;

嘗試,

private void initComponents() {
 List<String> COM = new ArrayList<String>();
 Enumeration portList = CommPortIdentifier.getPortIdentifiers();
 while (portList.hasMoreElements()) {
    CommPortIdentifier portId = (CommPortIdentifier) portList.nextElement();
    if (portId.getPortType() == CommPortIdentifier.PORT_PARALLEL) {
        System.out.println("No COM ports found");
        } else {
        COM.add(portId.getName());
    }
}

 selectedComPort = new JComboBox(COM.toArray(new String[COM.size()]));
 ....
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM