我的 JScrollPane 没有正确更新。
public static JScrollPane scrollPane;
public static List<String> usernames = new ArrayList<String>();
public static JList list;
public static void getUsername() {
usernames.add(Frame.username);
list = new JList(usernames.toArray());
scrollPane = new JScrollPane(list);
// Update
scrollPane.revalidate();
list.revalidate();
panel.revalidate();
frame.repaint();
System.out.println("user connected");
}
我已经在滚动窗格、jlist、面板上尝试了 repaint()、revalidate() 和 validate(),但框架和滚动窗格不会更新。如果我用数组中的新数据添加一个新的滚动窗格,它会更新得很好。
server.addListener(new Listener() {
public void received(Connection connection, Object object) {
new Run();
players++;
playerLabel.setText("Players currently online: " + players);
getUsername();
}
});