当它位于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);
}
});
最佳答案
listaTabeleScrollPane = new javax.swing.JScrollPane(listaTabele);
您创建了一个新的JScrollPane,但从未将滚动窗格添加到框架中。
不要创建新的JScrollPane。
相反,您只需更新现有scrollPane的视口即可:
//listaTabeleScrollPane = new javax.swing.JScrollPane(listaTabele);
listaTabeleScrollPane.setViewportView( listaTabele );
或者另一个选择是只更新JList的ListModel:
listaTabele.setModel( w );
因此,现在无需创建新的JList或重置滚动面板的视口。