INTRO: 我使用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);
}
答案 0 :(得分:1)
首先,您需要从布局管理器开始,该管理器允许您向容器添加多个组件。也许GridLayout是最好的起点。
然后将此容器添加到scrollPane,然后将滚动窗格添加到窗口。
所以基本代码是:
JPanel panel = new JPanel( new GridLayout(0, 1) );
panel.add(...);
panel.add(...);
JScrollPane scrollPane = new JScrollPane( panel );
window.add(scrollPane, BorderLayout.CENTER);
我建议您阅读How to Use Scroll Panes上Swing教程中的部分以获取更多信息。