Java中的JScrollBar和JScrollPane有什么区别?


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

  • JScrollPane用于创建组件的可滚动视图。
  • 滚动窗格是扩展JComponent类的JScrollPane类的对象。
  • 当屏幕尺寸有限时,我们使用滚动窗格来显示大型组件或大小可以动态变化的组件。
  • 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();
   }
}

输出

更新于:2020年2月7日

2K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告