簡體   English   中英

在組合框中創建選項作為可用串行端口

[英]Creating Options in Combo Boxes as Available Serial Ports

所以,我很困惑如何根據可用的串口改變組合框中的選項。 有誰能幫我解決這個問題? 我想我需要使用javax.swing.getModel,但我不確定如何做到這一點。

  if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
        ArrayList<String> serialports = new ArrayList<String>();
        serialports.add(portId.getName());
        String[] ports = new String[serialports.size()];
        ports = serialports.toArray(ports); 
        GUI.jComboBox2 = new JComboBox(ports);
        GUI.jComboBox2.addActionListener(GUI.jComboBox2);
        wantedPortName = (String) GUI.jComboBox2.getSelectedItem();

有兩個問題......由於缺乏背景,很難知道哪一個是正確的

可能性#1

您之前創建了組合框並將其添加到屏幕上....

如果是這種情況,那么您的代碼剛剛取消引用它。 這意味着屏幕上的控件不再是您正在與之交互的控件。

在這種情況下,您應該只更新模型...

ArrayList<String> serialports = new ArrayList<String>();
serialports.add(portId.getName());
String[] ports = new String[serialports.size()];
ports = serialports.toArray(ports); 
ComboBoxModel<String> model = new DefaultComboBoxModel<>(ports);
GUI.jComboBox2.setModel(model);

可能性#2

您之前從未在屏幕上添加組合框...

在這種情況下,您應該...但是沒有足夠的上下文來描述如何使用您的代碼實現這一目標......

可能性#3

我不知道你在談論什么......

暫無
暫無

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

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