JCombobox隐藏第一个对象的名称并根据用户的输入进行编辑

时间:2017-07-23 07:15:31

标签: java user-interface jcombobox

我正在制作一个Java桌面应用程序。在我的应用程序中,我使用的是JCombobox。这是一个例子:

Aplication's main page

我没有写JCombobox的任何内容。但是,可以从JComboBox看到第一部电影的名字。

此外,Application接受来自用户的输入,并根据该输入,向JCombobox写一些内容。

public class Searchbar extends JComboBox
{
    // PROPERTIES
    AutoCompleteDecorator decorator;
    private final ArrayList<Movie> movies;
    private final DBConnectMovie movieConnection = new DBConnectMovie();
    private final int totalCount = movieConnection.getTotalMovieCount();
    private String item;

    // CONSTRUCTOR
    public Searchbar() 
    {
        movies = movieConnection.getAllMovies();

        this.insertItemAt("", 0);
        this.setModel(new DefaultComboBoxModel(movies.toArray()));

        AutoCompleteDecorator.decorate(this);
        this.setPreferredSize(new Dimension(500, 40)); 

        item = this.getEditor().getItem().toString();
    }

    // METHODS 
    public void changeComboBoxText()
    {
        System.out.println("Prints this out");
        this.getEditor().setItem("C");
    }
}

我可以在changeComboBox方法中打印出文本。但是,我无法更改JComboBox的文字。

祝你有个美好的一天,谢谢!

1 个答案:

答案 0 :(得分:1)

更改组合:
一个。更新movies
b.use this.setModel(new DefaultComboBoxModel(movies.toArray()));