【发布时间】:2019-01-25 01:57:21
【问题描述】:
我想将滚动条的大小调整为画布窗口的大小,使其与图像窗口的宽度相同。
这是我目前所拥有的:
我们将不胜感激。
我尝试了setPreferedsize(),我尝试了setVisibleAmount(),但都没有工作。
JScrollBar SB = new JScrollBar();
SB.setMinimum(1);
SB.setMaximum(Cavalieri_counting_2.img.getNSlices() + 9);
SB.setValue(img.getCurrentSlice());
SB.setOrientation(Adjustable.HORIZONTAL);
//SB.setVisibleAmount(SB.getMaximum());;
//SB.setOrientation(JScrollBar.HORIZONTAL);
GridBagConstraints gbc_scrollBar = new GridBagConstraints();
//gbc_scrollBar.insets = new Insets(0, 0, 5, 0);
gbc_scrollBar.gridwidth = 20;
gbc_scrollBar.gridx = 0;
gbc_scrollBar.gridy = 18;
View_Panel.add(SB, gbc_scrollBar);
SB.setVisible(true);
【问题讨论】:
-
(1-) 为什么要使用 JScrollBar?您上一个问题 (stackoverflow.com/questions/54337684/…) 中的建议是使用 JScrollPane。
-
gbc_scrollBar.gridwidth = 20;和gbc_scrollBar.gridy = 18;- 你从哪里得到这些数字?您不能只是随机选择 18 和 20 作为数字 如果您实际上在面板中添加了 20 个其他组件,则只能使用这些值。阅读 How to Use GridBagLayout 上的 Swing 教程,了解基础知识和工作示例。我还将阅读How to Use Text Areas上的部分以获取使用 JScrollPane 的工作示例。How to Use Scroll Panes部分解释了滚动窗格的工作原理。 -
而且您还没有按照上一个问题的建议发布正确的minimal reproducible example。
标签: java swing jframe jscrollbar