JList가 업데이트되지 않는 이유는 무엇입니까?Java JList 업데이트 중
목록 개체를 다시 인스턴스화합니다. 내가 다시 채우고 다시 확인해 봐. 왜 그래?
needmoredetailsneedmore
외부 클래스 :
ControlPanel.usernames.add(username);
ControlPanel.list = new JList(ControlPanel.usernames.toArray());
ControlPanel.panel.repaint();
ControlPanel.panel.revalidate();
ControlPanel.java 당신은
대신 화면에 추가되지 않은 새로운 JList
을 만든
package main;
import java.awt.BorderLayout;
import java.util.ArrayList;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
@SuppressWarnings("serial")
public class ControlPanel extends JFrame {
public static JPanel panel = new JPanel();
JScrollPane scrollpane;
static JLabel players;
static String s;
public static ArrayList<String> usernames = new ArrayList<String>();
public static JList list;
// public static String categories[] = {};
public ControlPanel() {
list = new JList(usernames.toArray());
scrollpane = new JScrollPane(list);
panel.add(scrollpane, BorderLayout.CENTER);
add(panel);
setTitle("RuneShadows CP");
setSize(400, 400);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
}
[이 답변] 한 번 봐 (http://stackoverflow.com/를 취함으로써 ... 그것은 만 수행하는 것이,
시작을 정확히 새로 고침 작업을 신경 안 a/4262716/877472) 저는 완전히 새로운 JList를 만드는 대신 목록의 모델 객체를 사용하여 JList를 업데이트하는 방법을 보여줍니다. –
우리에게 좀 더 친절하고 [SSCCE] (http://sscce.org)를 게시 할 수 없습니까? 비록 미친 프로그래머의 대답은 아래에 주어진 바와 같이 명백하다. – Sage
감사합니다. 완벽하게 작동했습니다. – user3130731