我JList
内的JScrollPane
无法显示ActionListener
。我有另一个列表在另一个滚动窗格中打印没有问题,但不在动作侦听器中。
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);
}
});
答案 0 :(得分:2)
listaTabeleScrollPane = new javax.swing.JScrollPane(listaTabele);
您创建了一个新的JScrollPane,但您从未将滚动窗格添加到框架中。
不要创建新的JScrollPane。
相反,您只需更新现有scrollPane的视口:
//listaTabeleScrollPane = new javax.swing.JScrollPane(listaTabele);
listaTabeleScrollPane.setViewportView( listaTabele );
或者另一种选择是只更新JList的ListModel:
listaTabele.setModel( w );
所以现在不需要创建新的JList或重置scrollpanel的视口。