簡體   English   中英

JavaFX上的RxTx-清除comboBox

[英]RxTx on JavaFX - Clearing comboBox

我正在為我們的制造工廠進行質量控制軟件。 我不是機械工程專業的編程專家,但是我在這里戴着很多帽子,我喜歡一個很好的挑戰。 無論如何,我已經閱讀了很多有關RXTX的教程和示例,並最終制定了一個不錯的程序。 有一些問題需要完善,但總的來說是可行的。 這些問題之一是在組合框上,在其中列出了它為串行COMM通信找到的“可用端口”:注意:main.ports是一個枚舉

// SCAN METHOD
    public void doScan(ActionEvent event) {
        System.out.println("You clicked Scan");
            doClearCBox();
            main.ports = CommPortIdentifier.getPortIdentifiers();
            //CLEAR COMBO BOX EVERY TIME YOU SCAN


        while (main.ports.hasMoreElements())
        {
            CommPortIdentifier curPort = (CommPortIdentifier)main.ports.nextElement();

            //get only serial ports
            if (curPort.getPortType() == CommPortIdentifier.PORT_SERIAL)
            {
                main.portMap.put(curPort.getName(), curPort);
                portList.getItems().add(curPort.getName());
            }
        }
    } 
    public void doClearCBox()
    {
        System.out.println("Clearing combo box and Enumeration");
        main.ports = null;
        //JUST CLEAR RANDOM VALUES OR SOMETHING?
        portList.getSelectionModel().clearSelection(0);
        portList.getSelectionModel().clearSelection(1);
        portList.getSelectionModel().clearSelection(2);
        portList.getSelectionModel().clearSelection();
    }

我遇到的問題是,如果您多次按下“掃描”按鈕,它將基本上重復所有操作(例如,您將看到一個顯示COM3,COM3的列表),並且單擊5次就會看到(COM3, COM3,COM3,COM3,COM3)。 我的doClearCbox方法顯然沒有執行任何操作,我希望它刪除組合框,而我無法使其正常工作。 任何幫助是極大的贊賞

組合框(和其他控件)中的selectionModel管理當前選擇的內容。 所以

portList.getSelectionModel().clearSelection(index);

只是取消選擇index處的項目

組合框的getItems()方法返回組合框中的項目列表。 因此,如果您想清除所有項目,則可以

portList.getItems().clear();

暫無
暫無

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

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