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