簡體   English   中英

滾動問題(Java-JFrame-JScrollBar)

[英]Scrolling issue (Java-JFrame-JScrollBar)

簡介:我使用JFrame創建了一個Java應用程序。 我在頂部有一個JMenuBar,在其下方我想顯示文本行。

用途:當我有50行並且一次只能顯示20行時,我希望能夠向下滾動並再次向上滾動。

問題:當然,我的理論並不需要它應該起作用。 我的問題是我不知道如何正確添加垂直滾動。

問題:如何更改此代碼以實現我的目標?

public void display(){

    Container content = this.window.getContentPane();
    content.setLayout(new BorderLayout());
    Border border = LineBorder.createGrayLineBorder();

    //this is just a sample 
    for(int i = 0;i<50;i++){
        JLabel lab = new JLabel("lonyaladek");
        lab.setSize(570, 20);
        lab.setBorder(border);
        lab.setLocation(10, 20+(i*25));
        content.add(lab);
    }

    //scroll
    JScrollBar sb = new JScrollBar(JScrollBar.VERTICAL, 0, 0, 0, 0);
    content.add(sb);
}

首先,您需要從一個布局管理器開始,該管理器允許您向容器中添加多個組件。 也許GridLayout是最好的起點。

然后,將此容器添加到scrollPane,然后將滾動窗格添加到窗口。

因此,基本代碼為:

JPanel panel = new JPanel( new GridLayout(0, 1) );
panel.add(...);
panel.add(...);
JScrollPane scrollPane = new JScrollPane( panel );
window.add(scrollPane, BorderLayout.CENTER);

我建議您閱讀Swing教程中有關如何使用滾動窗格的部分, 獲取更多信息。

暫無
暫無

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

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