簡體   English   中英

JScrolledPane中的JPane。 需要時沒有垂直滾動條

[英]JPane inside JScrolledPane. No vertical scrollbar when needed

我在JScrolledPane中獲得了JPane。 當我向JPane添加內容時,JScrollPane不會顯示滾動條。 我嘗試了repaint()和revalidate(),但沒有幫助。

static void ladowaniePaneli()
    {
    int b;
    for(b=0;b<o;b++)
        {
        bgPanel[b] = new JBackgroundPanel();
        nowyPanel[b] = new JPanel();

        ((FlowLayout)bgPanel[b].getLayout()).setVgap(0);
        nowyPanel[b].setPreferredSize(new Dimension(790,518));
        nowyPanel[b].setOpaque(false);

        vertical[b] = new JScrollPane(nowyPanel[b]);
        vertical[b].setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
        vertical[b].setPreferredSize(new Dimension(789,517));
        vertical[b].setOpaque(false);
        vertical[b].getViewport().setOpaque(false);
        bgPanel[b].add(vertical[b]);           
        }
    }

滾動條從未顯示是有道理的,因為您限制了所包含組件的大小,因此它總是比scrollopane的視口小很多:

nowyPanel[b].setPreferredSize(new Dimension(790,518));

解決方案:不要那樣做。

如果我不使用setPreferredSize方法組件將不會翹曲到另一行

您可以嘗試Wrap Layout

對超過JScrollPane寬度時,應將其變形為新行

組件分別布置。 我要包裝一組組件,然后需要首先將組件添加到單獨的面板中。 然后使用WrapLayout將面板添加到面板中。

暫無
暫無

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

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