我正在使用JList,並試圖爲單元使用JTextAreas(實現ListCellRenderer)。它不工作。單元格只顯示ListCellRenderer.toString()而不是實際的JTextArea。有人可以幫忙嗎?謝謝。包含JTextAreas的JList顯示JTextAreas的toString()而不是JTextArea
DefaultListModel listModel = new DefaultListModel();
JList list = new JList(listModel);
add(list);
class ButtonListener implements ActionListener() {
public void actionPerformed(ActionEvent e){
listModel.clear();
for (String s : stringArray) {
listModel.addElement(new Listm(s));
}
}
}
class Listm extends JTextArea implements ListCellRenderer {
protected Listm(String text) {
setText(text); //Outputting the text element displays the desired String
}
public Component getListCellRendererComponent(JList list, Object object, int number, boolean bool, boolean bool2) {
setPreferredSize(new Dimension(x, y));
return this;
}
}
}
爲了更快地獲得更好的幫助,請發佈[SSCCE](http://pscode.org/sscce.html)。 –
因爲我不知道問題出在哪裏,所以我比較冗長。 –
但無論冗長,你的代碼沒有多大意義。請發佈可編譯代碼。 –