我想讓JList顯示數組的內容。然而,數組本身不是一個字符串數組,而是一個對象數組。Java Swing JList
那麼,是否有可能使用相同的對象數組作爲參數來構造我的JList(如果對象被賦予toString方法)?
謝謝。
我想讓JList顯示數組的內容。然而,數組本身不是一個字符串數組,而是一個對象數組。Java Swing JList
那麼,是否有可能使用相同的對象數組作爲參數來構造我的JList(如果對象被賦予toString方法)?
謝謝。
是的。
列表使用名爲單元格渲染器的對象來顯示其每個項目。默認的單元格渲染器知道如何顯示字符串和圖標,並通過調用
toString
來顯示對象。
參見:http://java.sun.com/docs/books/tutorial/uiswing/components/list.html
JList的是基於MVC的控制,如Swing的其餘部分。您可以傳遞JList一個對象數組,字符串數組或向量,然後提供一個ListCellRenderer來呈現您傳入的對象(默認情況下使用DefaultListRenderer(這只是一個JLabel))。
我不知道默認行爲,如果你不設置ListRender呈現對象,如果你不通過字符串。這是不好的做法。很容易覆蓋DefaultListRenender來調用Object.ToString()以確保安全。
在這裏看到更多的JList信息: http://java.sun.com/products/jfc/tsc/tech_topics/jlist_1/jlist.html
當你嘗試過什麼事?這個想法是先嚐試一下。如果它有效,那很好。如果不是,那麼你可以問一個問題,說明發生了什麼。你甚至可以發佈SSCCE,以便我們看到你可能做錯了什麼。 – camickr 2009-12-05 04:46:00
我們決定採用另一種方法。謝謝。 但是,我現在仍然有更新JList的問題。 http://stackoverflow.com/questions/1851217/java-swing-updating-jlist – GLRockwell 2009-12-05 05:34:28