如何使用 JScrollPane 的示例
JScrollPane 是一个容器,当显示的组件超过 JFrame.在 java 中创建滚动 bar 的代码 很简单。最流行的用法是 JTextArea,通过向 .
import javax.swing.JFrame;Output
import javax.swing.JScrollPane;
导入 javax.swing.JTextArea;
public class JScrollPaneTest {
//20 行、50 列文本框
JTextArea jta = new JTextArea(20, 50);
public JScrollPaneTest(){
JFrame f = new JFrame(JScrollPaneExample”);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setLocationRelativeTo(null);
f.setVisible(true);
JScrollPane jsp = new JScrollPane(jta);
f.add(jsp, BorderLayout.CENTER);
f.pack();
}
public static void main(String[] args) {
new JScrollPaneTest();
}
}
如果文本超过窗口的尺寸,滚动条将创建水平条和垂直条。
JScrollBar 和 JViewPort
A JScrollPane 将这两个类组合在一起JScrollBar et JViewPort et 使用后者的实例来管理对用户可见的部分。它负责基于垂直和水平电梯的尺寸和定位.
这是检索两个滚动条(水平和垂直)的代码:
这是检索两个滚动条(水平和垂直)的代码:
JScrollBar vjsp = jsp.getVerticalScrollBar();
JScrollBar hjsp = jsp.getHorizontalScrollBar();
使用 getViewport(). 在此示例中,我们将 将图像添加到 JScrollPane 并使用 setViewPosition(Point p).
import java.awt.Point;Output
import javax.swing.ImageIcon;
导入 javax.swing.JFrame;
导入 javax.swing.JLabel;
导入 javax.swing.JList;
import javax.swing.JScrollPane;
导入 javax.swing.JTextArea;
import javax.swing.JViewport;
public class JScrollPaneTest {
public JScrollPaneTest(){
JFrame f = new JFrame(JScrollPaneExample”);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setLocationRelativeTo(null);
f.setVisible(true);
f.setSize(300,300);
ImageIcon image = new ImageIcon(Fleur.jpg”);
JLabel pimage = new JLabel();
pimage.setIcon(image);
JScrollPane jsp = new JScrollPane(pimage);
JViewport jvp = new JViewport();
jvp = jsp.getViewport();
jvp.setViewPosition(新点 (30,200));
f.add(jsp);
}
public static void main(String[] args) {
new JScrollPaneTest();
}
}
更改设置
例如,如果窗口很宽,则两个条形会消失,因为我们不需要它。如果降低窗口的高度,它们将重新出现。这由每个条形图的滚动面板策略控制。
JScrollPane 有两个构造函数,可让您在创建时更改设置:
- JScrollPane(组件 c, int vertical, int horizontal)
- JScrollPane(int vertical, int 水平)
创建后也可以使用两种方法更改两条的显示策略: setHorizontalScrollBarPolicy(), setVerticalScrollBarPolicy().
VERTICAL_SCROLLBAR_AS_NEEDED HORIZONTAL_SCROLLBAR_AS_NEEDED | 默认情况下,滚动条会根据需要出现和消失。 |
VERTICAL_SCROLLBAR_ALWAYS HORIZONTAL_SCROLLBAR_ALWAYS | 始终显示滚动条。 |
VERTICAL_SCROLLBAR_NEVER HORIZONTAL_SCROLLBAR_NEVER | 滚动条将始终处于隐藏状态。 |
以下语句被添加到第一个 JTextArea 示例的代码中,紧跟在 JScrollPane:
References:jsp.setVerticalScrollBarPolicy(jsp.VERTICAL_SCROLLBAR_ALWAYS);Output:
Oracle 文档:JScrollPane
http://www2.htw-dresden.de/~beck/JAVA11/SWING/scrolling.html