Java 无法显示JList
当Java 无法显示JList,java,swing,actionlistener,jscrollpane,jlist,Java,Swing,Actionlistener,Jscrollpane,Jlist,当JScrollPane位于ActionListener中时,我无法在JScrollPane中显示JList。我有另一个列表,它在另一个滚动窗格中打印时没有问题,但在活动侦听器中没有 btnSelecteazaBd.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String t = new String();
JScrollPane
位于ActionListener
中时,我无法在JScrollPane
中显示JList
。我有另一个列表,它在另一个滚动窗格中打印时没有问题,但在活动侦听器中没有
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);
}
});
您创建了一个新的JScrollPane,但从未将滚动窗格添加到框架中
不要创建新的JScrollPane
您只需更新现有滚动窗格的视口:
//listaTabeleScrollPane = new javax.swing.JScrollPane(listaTabele);
listaTabeleScrollPane.setViewportView( listaTabele );
或者,另一个选项是只更新JList的ListModel:
listaTabele.setModel( w );
因此,现在无需创建新的JList或重置scrollpanel的视口
您创建了一个新的JScrollPane,但从未将滚动窗格添加到框架中
不要创建新的JScrollPane
您只需更新现有滚动窗格的视口:
//listaTabeleScrollPane = new javax.swing.JScrollPane(listaTabele);
listaTabeleScrollPane.setViewportView( listaTabele );
或者,另一个选项是只更新JList的ListModel:
listaTabele.setModel( w );
因此,现在无需创建新的JList或重置scrollpanel的视口 为什么不在启动时将列表添加到滚动窗格中&只需在需要时将项目添加到模型中?如果这不适用于此场景,请使用中所示的。为什么不在启动时将列表添加到滚动窗格中,并在需要时将项目添加到模型中?如果这不适用于此场景,请使用中所示的。