- MainFrame - где я переключаю панели
- Listings - где мой jlist
- RefreshListings - где я переключаю с текущего JPanel на списки JPanel и обновить JLIST в панели списков.
после замену панели с обновления списка до списков , jlist или не показывает обновленный список. ГАНФЕРВЕЙ: < /p>
public MainFrame() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
this.card = new CardLayout();
this.setLayout(this.card);
this.createRefreshListings();
}
public void createRefreshListings() {
RefreshListings refresh = new RefreshListings(this, list);
this.add(refresh, "RefreshListings");
this.card.show(getContentPane(), "RefreshListings");
}
public void createListings() {
Listings list = new Listings(this);
this.add(list, "Listings");
this.card.show(getContentPane(), "Listings");
}
public Listings getListingPanel() {
return list;
}
< /code>
мои списки: < /p>
public class Listings extends JPanel {
private static final long serialVersionUID = 1L;
private MainFrame main;
private JList list;
private String arr = "QEQEE";
/**
* Create the panel.
*/
public Listings(MainFrame main) {
this.main = main;
setLayout(null);
JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(66, 36, 285, 164);
add(scrollPane);
this.list = new JList();
scrollPane.setViewportView(list);
JButton btnNewButton = new JButton("New button");
btnNewButton.setBounds(214, 210, 85, 21);
add(btnNewButton);
}
public void populateList() {
DefaultListModel model = new DefaultListModel();
model.addElement(arr);
this.list.setModel(model);
}
}
< /code>
my refreshestilings: < /p>
public class RefreshListings extends JPanel {
private static final long serialVersionUID = 1L;
private MainFrame main;
private Listings list;
/**
* Create the panel.
*/
public RefreshListings(MainFrame main) {
this.main = main;
setLayout(null);
JButton btnNewButton = new JButton("New button");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
main.createListings(); // swap to Listing Panel
main.getListingPanel.populateList(); // Refresh JList
}
});
btnNewButton.setBounds(180, 126, 85, 21);
add(btnNewButton);
}
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... cardlayout