OK 그래서 JList가 있고 내용에 배열이 제공됩니다. 배열에 요소를 추가하는 방법을 알고 있지만 JList를 새로 고치는 방법을 알고 싶습니다 ... 또는 심지어 가능합니까? 나는 Google을 사용해 봤다. : \java 배열을 jList에 새로 고침
import java.applet.Applet;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class bs extends JApplet implements MouseListener {
public static String newline;
public static JList list;
public void init() {
String[] data = {"one", "two", "three", "four"};
list = new JList(data);
this.getContentPane().add(list);
list.addMouseListener(this);
String newline = "\n";
list.setVisible(true);
}
public void refresh(){
Address found;
this.listModel.clear();
int numItems = this.getAddressBookSize();
String[] a = new String[numItems];
for (int i=0;i<numItems;i++){
found = (Address)Addresses.get(i);
a[i] = found.getName();
}
/* attempt to sort the array */
Arrays.sort(a, String.CASE_INSENSITIVE_ORDER);
for (int i=0;i<numItems;i++) {
this.listModel.addElement(a[i]);
}
}
public void mousePressed(MouseEvent e) { }
public void mouseReleased(MouseEvent e) {
Object index = list.getSelectedValue();
System.out.println("You clicked on: " + index);
}
public void mouseEntered(MouseEvent e) { }
public void mouseExited(MouseEvent e) { }
public void mouseClicked(MouseEvent e) { }
public void paint(Graphics g) {
}
}
아이디어가 있으십니까?
감사합니다.
class MyModel extends AbstractListModel {
private String[] items;
public MyModel(String[] items) {
this.items = items;
}
@Override
public Object getElementAt(int index) {
return items[index];
}
@Override
public int getSize() {
return items.length;
}
public void update() {
this.fireContentsChanged(this, 0, items.length - 1);
}
}
항목을 정렬 한 후, 바로 update
전화 :