单击JButton时,JList会向下滚动?JAVA

单击JButton时,JList会向下滚动?JAVA,java,swing,user-interface,jlist,Java,Swing,User Interface,Jlist,我基本上想在单击JButton(popDownButton)后,进行JList(whatToSearch)滚动,或者简单地显示其内容以供选择 //SEARCH OPTIONS popDownButton = new JButton(new ImageIcon(new ImageIcon("downArrow.png").getImage().getScaledInstance(20, 20, Image.SCALE_DEFAULT))); whatToSearch = new JList(ele

我基本上想在单击
JButton
(popDownButton)后,进行
JList
(whatToSearch)滚动,或者简单地显示其内容以供选择

//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()); 
     }
});
更多方法:

希望这有助于:

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

恐怕它没用,当我点击按钮时,什么也没发生