无法添加或删除ComboBox项目

时间:2018-02-27 23:25:35

标签: java methods combobox

我用某些方法编写程序。在其中一个方法中,我想将一些字符串添加到ComboBox。这不起作用,我无法删除或添加项目。但是,我也没有收到任何错误。

这个方法很顺利,当我在这个方法中打印一些东西时,它就在输出中。组合框的声明/实例化可能有问题,但我不知道要改变什么。我尝试了public void vulDropdowns(JComboBox Host1Dropdown){而不仅仅是public void vulDropdowns(){,但这并不起作用。然后我收到一个错误。它可能是非常愚蠢的东西,但我没有看到它,而且我没有多少Java经验。如果我把所有类的所有代码放在这里,这是一个很大的程序。但最重要的部分(我认为)是:

类VirusGUI:ComboBox由' design'创建。选项,所以它应该是正确的,我无法编辑代码的那一部分。按下按钮时,程序会读取一个文件,一些数据应该转到组合框。调用readfile.choosefile方法。

public class VirusGUI extends javax.swing.JFrame {

VirusLogica viruslogica = new VirusLogica();

public VirusGUI() {
initComponents();
    }

private void SearchButtonActionPerformed(java.awt.event.ActionEvent evt) {                                             
   ReadFile readfile = new ReadFile();
   readfile.chooseFile(PathTextfield);

类ReadFile:在while循环之后,我在VirusLogica类中调用VulDropdown(fillDropdown)方法。 '测试'打印,因此执行该方法。

public class ReadFile {
    public VirusGUI virusGUI = new VirusGUI();
    public VirusLogica virusLogica = new VirusLogica();
    JComboBox Host1Dropdown;

    while (s.hasNext()){

                String[] lineData = (String[]) s.nextLine().split("\\t", -1);
                if (!"virus tax id".equals(lineData[0]) && !"".equals(lineData[7]) && !"".equals(lineData[0]) && !"".equals(lineData[1]) && !"".equals(lineData[8]) && !"".equals(lineData[2])) {
                        virusLogica.virusChecker(lineData, classificatie); 
                        virusLogica.hostChecker();
                }
            }

            virusLogica.vulDropdowns();
            System.out.println("test");

类VirusLogica:具有该方法的类。 '测试2'打印,所以再次执行该方法。但是组合框中的项目没有被删除。我尝试添加内容时也一样。

public class VirusLogica {
     JComboBox Host1Dropdown = new JComboBox();

    public void vulDropdowns(){
        Host1Dropdown.removeAllItems();
        System.out.println("test 2");

1 个答案:

答案 0 :(得分:0)

要与名为模型的JComboBox列表进行交互,您需要先获取模型。例如:

JComboBox Host1Dropdown = new JComboBox();
Host1Dropdown.setModel(new DefaultComboBoxModel(new String[] {"item1", "item2"});
DefaultComboBoxModel model = (DefaultComboBoxModel)Host1Dropdown.getModel();
model.addElement("item3");
model.removeElement("item1");
model.removeAllElements();