2014-05-13 56 views
0

是否有使用的目的:爲什麼我會在這個例子中使用JScrollPane?

附加(新JScrollPane的(名單))代替加(名單)在下面的代碼?

public class Gui extends JFrame { 

    private JList list; 
    private static String[] colorNames = {"black", "blue", "red", "white"}; 
    private static Color[] colors = {Color.BLACK, Color.BLUE, Color.RED, Color.WHITE}; 

    Gui() { 
     list = new JList(colorNames); 
     list.setVisibleRowCount(colorNames.length); 
     list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); 
     **add(new JScrollPane(list))**; 


    } 
} 

回答

1

對你的原始問題真正客觀,答案將是:這取決於你希望在你的UI顯示中實現什麼。

但是,在絕大多數情況下,我應該想象在JScrollPane中包裝組件JLists將是一個不錯的主意。

JScrollPane當某個特定的JComponent實質上太大而不能適應其指定的空間時,它可以幫助您。如果物品數量超過JList本身的可用高度,那麼您將失去對這些物品的視線JList。包裝在JScrollPane將提供滾動機制供用戶通過滾動所有可用項目進行瀏覽。

當然,如果您的清單沒有超出其可用空間,那麼通過在JScrollPane中進行清除並不會造成任何損害。 (另外,您可以自定義其顯示,以便直到必要不顯示滾動條,例如。)

這是特別常見的結合使用JScrollPaneJListsJTableJTextArea。不要被JComboBox愚弄 - 它有自己的滾動機制。

官方的Swing教程有一個名爲How to Use Scroll Panes的部分,它提供了詳細信息。

0

是 - 如果列表中的內容超出了可見的窗口,一個JScrollPane會,不出意外,自動添加滾動條你。

如果您只添加列表,它將在功能上相同,除非該區域太小而無法顯示完整列表

相關問題