java - 无法显示 JList

标签 java swing actionlistener jscrollpane jlist

JList 位于 ActionListener 内时,我无法在 JScrollPane 中显示它。我有另一个列表,可以在另一个滚动 Pane 中毫无问题地打印,但在操作监听器中则不然。

    btnSelecteazaBd.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
          String t = new String();
          t = list.getSelectedValue().toString();

          try {                                                    
                w = cautaTabele(t);
          } catch (SQLException ex) {
                Logger.getLogger(Conexiune.class.getName()).log(Level.SEVERE, null, ex);
          }                        
            listaTabele = new JList(w);    
            listaTabeleScrollPane = new javax.swing.JScrollPane(listaTabele);

        }
      });

最佳答案

listaTabeleScrollPane = new javax.swing.JScrollPane(listaTabele);

您创建了一个新的 JScrollPane,但从未将滚动 Pane 添加到框架中。

不要创建新的 JScrollPane。

相反,您只需更新现有scrollPane的视口(viewport):

//listaTabeleScrollPane = new javax.swing.JScrollPane(listaTabele);
listaTabeleScrollPane.setViewportView( listaTabele );

或者另一个选项是只更新 JList 的 ListModel:

listaTabele.setModel( w );

所以现在不需要创建新的 JList 或重置滚动面板的视口(viewport)。

关于java - 无法显示 JList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37512551/

相关文章:

java - java中如何调用常量?

java - 使用 url 加载 imaeview 的任何更快的方法

java - 如何使用 JTree Listener 动态更改带有 CardLayout 的 JPanel?

java - 删除特定按钮

用于用户操作验证的 Java Swing GUI 设计技术 (MVC-FSM)

java - ActionListener 将变量的当前值重置为默认值

java - 我可以在 ActionListener 上使用 get 和 set 吗?为什么不工作?

java - 在 Java 中使用弱引用的成本

java - 断言错误 : No value for JSON Path in JUnit test

java - 检查鼠标是否位于圆圈上方 - Java