gpt4 book ai didi

java - 滚动问题(Java-JFrame-JScrollBar)

转载 作者:行者123 更新时间:2023-12-01 15:42:23 26 4
gpt4 key购买 nike

简介:我使用 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 是最好的起点。

然后将此容器添加到滚动 Pane ,然后将滚动 Pane 添加到窗口。

所以基本代码是:

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

我建议您阅读 Swing 教程中关于 How to Use Scroll Panes 的部分。了解更多信息。

关于java - 滚动问题(Java-JFrame-JScrollBar),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7834162/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com