单击 JButton 时 JList 向下滚动? JAVA

A JList rolls down when a JButton is clicked ? JAVA

我基本上想制作一个 JList (whatToSearch) 下拉菜单,或者只是显示其内容,以便在单击 JButton (popDownButton) 后进行选择。

//SEARCH OPTIONS
popDownButton = new JButton(new ImageIcon(new ImageIcon("downArrow.png").getImage().getScaledInstance(20, 20, Image.SCALE_DEFAULT)));
whatToSearch = new JList(elementsToSearch);
whatToSearch.setVisibleRowCount(3);
whatToSearch.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
scroll = new JScrollPane(whatToSearch);

popDownButton.addActionListener(new ActionListener() {
   @Override
   public void actionPerformed(ActionEvent event) {

         JOptionPane.showMessageDialog(null, scroll.getViewport());   
    }
});
add(popDownButton);

这段代码有效,但我希望 JList 的内容显示在同一界面中,按钮旁边,而不是另一个弹出界面中。

你可以试试这个代码,真的很简单:

popDownButton.addActionListener(new ActionListener() {
     @Override
     public void actionPerformed(ActionEvent event) {
          JScrollBar vertical = scroll.getVerticalScrollBar();
          vertical.setValue(vertical.getMaximum()); 
     }
});

更多方式:Scroll JScrollPane to bottom

希望对您有所帮助:

popDownButton.addActionListener(new ActionListener() {
   @Override
   public void actionPerformed(ActionEvent event) {
       whatToSearch.setSelectedIndex(elementsToSearch.getSize() - 1);
       whatToSearch.ensureIndexIsVisible(elementsToSearch.getSize() - 1);   
    }
});