Witam proszę o wytłumaczenie lub link do materiałów które mogą mi rozjaśnić temat różnicy między dwoma kawałkami kodu.
Kod który nie działa i nie wyświetla tabeli w oknie:
public class OknoUsers extends JFrame {
private JPanel contentPane;
private JTable tabela;
private JScrollPane scrollPanel;
private TabModelUsers model;
public OknoUsers() {
setTitle("Baza użytkowników");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(300, 300, 800, 500);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
model = new TabModelUsers(); // tworzę obiekt Model Tabeli,
tabela = new JTable(); // tworzę obiekt JTable,
scrollPanel = new JScrollPane(); // tworzę obiekt JScrollPane,
tabela.setModel(model); // na obiekcie tabela (JTable) ustawiam swój model
scrollPanel.add(tabela); // dodaje do scrollPane JTable
contentPane.add(scrollPanel); //dodaje do contentPane scrollPane
setContentPane(contentPane);
setVisible(false);
}
public void pokazOkno() {
setVisible(true);
}
Kod który działa i poprawnie wyświetla tabele w oknie:
public class OknoUsers extends JFrame {
private JPanel contentPane;
private JTable tabela;
private JScrollPane scrollPanel;
private TabModelUsers model;
public OknoUsers() {
setTitle("Baza użytkowników");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(300, 300, 800, 500);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
model = new TabModelUsers();
tabela = new JTable(model);
scrollPanel = new JScrollPane(tabela);
contentPane.add(scrollPanel);
setContentPane(contentPane);
setVisible(false);
}
public void pokazOkno() {
setVisible(true);
}