簡體   English   中英

JList滾動錯誤?

[英]JList scroll bug?

我不知道這是否只是我使用DefaultListModel而不是vector的問題,但是問題是當我制作JListJScrollPane,滾動條顯示正確,但是即使有足夠的元素我也無法滾動填滿整個窗口。

源代碼:

panel_unit.add(YUi.JScrollPane(list = YUi.JList(main.config.fdata,0,0,this,0),500,314,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS),5,5);
public static JList JList(DefaultListModel text,int width,int height,ListSelectionListener listener,int SelIndex) {
    JList list = new JList(text);
    list.setPreferredSize(new Dimension(width,height));
    list.setSelectedIndex(SelIndex);
    list.addListSelectionListener(listener);
    return list;
}
public static JScrollPane JScrollPane(Component text,int width,int height,int HorizontalScrollBarPolicy,int VerticalScrollBarPolicy) {
    JScrollPane scrollpane = new JScrollPane(text);
    scrollpane.setPreferredSize(new Dimension(width,height));
    scrollpane.setHorizontalScrollBarPolicy(HorizontalScrollBarPolicy);
    scrollpane.setVerticalScrollBarPolicy(VerticalScrollBarPolicy);
    return scrollpane;
}

這可能與您使用首選大小以及使用JScrollPane.VERTICAL_SCROLLBAR_​​ALWAYS有關。 如果在該常數上放置該常數,則無論是否滾動都將始終顯示滾動條。

嘗試一下,我敢打賭它將起作用:

new JScrollPane( list );

您應該將JScrollPane包裹在JList周圍

例:

JScrollPane scrollpane = new JScrollPane(list);

PS:您使用的命名約定根本不合適!!!

步驟如下:

  1. 創建JList組件,稱為“ myJList”。

  2. 使用您的JListComponent創建JScrollPane組件:JScrollPane myScrollPane = new JScrollPane(myJList);

  3. 僅將JScrollPane添加到GUI:.add(myScrollPane)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM