Dodałem na swoim JPanlu JTable oraz 3 JButtony. Jednak po uruchomieniu programu tylko JTable jest widoczny, 3 buttony znajdujące się pod nim nie są widoczne od razu, tylko dopiero kiedy najadę na miejsca, w których powinny się znajdować to się pojawiają. Dlaczego tak się dzieje? Co zrobić żeby były od razu widoczne? JTable od razu wyświetla poprawnie.
Kod:
public class UsersJPanel extends JPanel {
private static final long serialVersionUID = 1L;
private List<User> usersList;
/**
* Create the panel.
*/
public UsersJPanel(ClientJFrame cf) {
setLayout(null);
setBounds(200, 150, 694, 472);
usersList = cf.getRec().usersList();
String[] kolumny = { "Id", "Login", "Haslo", "Rola" };
JTable jTable = new JTable();
DefaultTableModel model = (DefaultTableModel) jTable.getModel();
model.setColumnIdentifiers(kolumny);
int ile = model.getRowCount();
for (int i = ile - 1; i >= 0; i--) {
model.removeRow(i);
}
for (User u : usersList) {
Object[] objects = new Object[4];
objects[0] = u.getId();
objects[1] = u.getUsername();
objects[2] = u.getPassword();
objects[3] = u.getRole();
model.addRow(objects);
model.fireTableDataChanged();
}
JScrollPane scrollPane = new JScrollPane(jTable);
scrollPane.setSize(300, 297);
scrollPane.setLocation(202, 35);
add(scrollPane);
JButton btnNewButton = new JButton("Dodaj");
btnNewButton.setBounds(202, 360, 89, 23);
add(btnNewButton);
JButton btnNewButton_1 = new JButton("Edytuj");
btnNewButton_1.setBounds(308, 360, 89, 23);
add(btnNewButton_1);
JButton btnNewButton_2 = new JButton("Usun");
btnNewButton_2.setBounds(414, 360, 89, 23);
add(btnNewButton_2);
}
}