Mam JPanel, w który mam JTableHeader, JButton i JScrollPane, a w nim JTable. I gdy dodaje jest do panelu to wszystko jest prawidłowo wyświetlane ale JButton jest tak jakby disabled.
class PanelPokazAuta extends JPanel implements ActionListener {
JTableHeader header;
private JButton odswiez;
private DefaultTableModel model = new DefaultTableModel();
private JTable tablica;
private JScrollPane spane;
public PanelPokazAuta() {
this.setLayout(new BorderLayout());
ModelTablicy();
odswiez = new JButton("Odśwież");
odswiez.addActionListener(this);
spane=new JScrollPane(tablica);
spane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
this.add(header, BorderLayout.NORTH);
this.add(spane, BorderLayout.CENTER);
this.add(odswiez,BorderLayout.SOUTH);
}
private void ModelTablicy() {
model.addColumn("ID");
model.addColumn("Wlasciciel");
model.addColumn("Marka");
model.addColumn("Model");
model.addColumn("Rok");
model.addColumn("Litraz");
model.addColumn("Cena");
model.addColumn("Silnik");
model.addColumn("ABS");
model.addColumn("Wspomaganie");
model.addColumn("El.szyby");
model.addColumn("Klima");
tablica = new JTable(model) {
public boolean isCellEditable(int rowIndex, int colIndex) {
return false;
}
};
tablica.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
int row = tablica.getSelectedRow();
int id = Integer.parseInt(tablica.getValueAt(row, 0).toString());
new edytor(id, false);
}
});
header = tablica.getTableHeader();
tablica.getColumnModel().getColumn(0).setPreferredWidth(70);
tablica.getColumnModel().getColumn(1).setPreferredWidth(150);
tablica.getColumnModel().getColumn(2).setPreferredWidth(80);
tablica.getColumnModel().getColumn(3).setPreferredWidth(80);
tablica.getColumnModel().getColumn(4).setPreferredWidth(50);
tablica.getColumnModel().getColumn(5).setPreferredWidth(50);
tablica.getColumnModel().getColumn(6).setPreferredWidth(50);
tablica.getColumnModel().getColumn(7).setPreferredWidth(40);
tablica.getColumnModel().getColumn(8).setPreferredWidth(45);
tablica.getColumnModel().getColumn(9).setPreferredWidth(83);
tablica.getColumnModel().getColumn(10).setPreferredWidth(45);
tablica.getColumnModel().getColumn(11).setPreferredWidth(40);
Wiersze();
}
private void Wiersze() {
for(Vector i:MetaDatabase.TablicaAut())
model.addRow(i);
}
private void aktualizacja() {
model.getDataVector().removeAllElements();
Wiersze();
repaint();
}
@Override
public void actionPerformed(ActionEvent e) {
aktualizacja();
}
}