java - 使 JList 的选定索引消失

标签 java swing windowbuilder

所以我的程序中有一个 JList,它以选定的索引 0 开头。但是,在程序期间我想执行 myJList.setSelectedIndex(-1) 或类似的操作,以便不选择任何内容?希望我很清楚。谢谢

最佳答案

JList 有一个清除选择的方法。参见 JList#clearSelection .检查JList#getSelectionModelListSelectionModel用于发现可用于更改选择的方法的 API

编辑:既然你指出它不起作用,我创建了一个 SSCCE显示 clearSelection 按预期工作

public class Test {
  public static void main( String[] args ) {
    try {
      SwingUtilities.invokeAndWait( new Runnable() {
        public void run() {
          JFrame frame = new JFrame( "TestFrame" );
          frame.getContentPane().setLayout( new BorderLayout(  ) );
          DefaultListModel listModel = new DefaultListModel();
          listModel.addElement("Jane Doe");
          listModel.addElement("John Smith");
          listModel.addElement("Kathy Green");
          final JList list = new JList( listModel );
          list.setSelectedIndex( 0 );
          frame.getContentPane().add( list, BorderLayout.CENTER );
          JButton clearSelectionButton = new JButton( "Clear selection" );
          frame.getContentPane().add( clearSelectionButton, BorderLayout.SOUTH );

          clearSelectionButton.addActionListener( new ActionListener() {
            public void actionPerformed( ActionEvent aActionEvent ) {
              list.clearSelection();
            }
          } );

          frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
          frame.pack();
          frame.setVisible( true );
        }
      } );
    } catch ( InterruptedException e ) {
    } catch ( InvocationTargetException e ) {
    }
  }
}

关于java - 使 JList 的选定索引消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8682847/

相关文章:

Java - 如何制作 JButton "Deselected"

java - 使用 Action 监听器在文本字段中将 double 显示为整数

eclipse - 将 WindowBuilder 集成到现有的 eclipse 项目中

java - 在 GridLayout 中调整 JLabels 的大小

java - Class.forName 如何返回 Class<?扩展我的抽象类>?

Java HttpURLConnection.getInputStream 但得到 401 IOException

java - Hibernate 和 spring mvc 删除和更新

java - 很难理解 Swing 图形...以及如何在运行时绘制

java - ImageIcon 未显示在 JPanel 中

java - java中通过构造函数实例化对象失败