Java 中的 JScrollBar 和 JScrollPane 有什么区别?
awtjavaobject oriented programmingprogrammingswing
JScrollBar 是一个 组件 ,它不处理自己的事件,而 JScrollPane 是一个 容器 ,它处理自己的事件并执行自己的滚动。 JScrollBar 不能有 JScrollPane ,而 JScrollPane 可以有 JScrollBar。
JScrollBar
- JScrollBar 类的对象用于添加水平 和垂直 滚动条 ,允许用户在指定的最小值和最大值之间选择项目。
- JScrollBar 类是 滚动条 的实现,并继承了 JComponent 类。
语法
public class JScrollBar extends JComponent implements Adjustable, Accessible
示例
import javax.swing.*; import java.awt.*; public class JScrollBarTest extends JFrame{ JScrollBarTest() { setTitle("JScrollBar Test"); JScrollBar jsb = new JScrollBar(); setLayout(new FlowLayout()); add(jsb); setSize(350, 275); setLocationRelativeTo(null); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } public static void main(String args[]) { new JScrollBarTest(); } }
输出
JScrollPane
- JSrollPane用于创建组件的可滚动视图。
- 滚动窗格是JScrollPane类的对象,该类扩展了JComponent类。
- 当屏幕尺寸有限时,我们使用滚动窗格来显示较大的组件或大小可以动态变化的组件。
- JScrollPane类的重要方法是setColumnHeaderView()、setRowHeaderView()、setViewportView()等。
示例
import javax.swing.*; import java.awt.*; public class JScrollPaneTest extends JFrame { JScrollPaneTest() { setTitle("JScrollPane Test"); JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); JScrollPane jsp = new JScrollPane(panel, ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS); add(jsp); setSize(350, 275); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); setVisible(true); } public static void main(String[] args) { new JScrollPaneTest(); } }