Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Khác biệt giữa JScrollBar và JScrollPane trong Java

JScrollBar là component và không tự xử lý sự kiện, trong khi JScrollPane là Container tự xử lý sự kiện và tự cuộn. JScrollBar không thể chứa JScrollPane ngược lại JScrollPane có thể chứa JScrollBar.

JScrollBar

  • Object JScrollBar thêm scrollbar ngang và dọc cho user chọn giá trị giữa min và max.
  • Lớp JScrollBar implement scrollbar và kế thừa JComponent.

Cú pháp

public class JScrollBar extends JComponent implements Adjustable, Accessible

Ví dụ

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();
    }
}

Kết quả

Khác biệt giữa JScrollBar và JScrollPane trong Java

JScrollPane

  • JScrollPane tạo view có cuộn cho component.
  • Là object của JScrollPane kế thừa JComponent.
  • Khi màn hình hạn chế, dùng scroll pane hiển thị component lớn hoặc size thay đổi động.
  • Phương thức quan trọng: setColumnHeaderView(), setRowHeaderView(), setViewportView().

Ví dụ

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();
    }
}

Kết quả

Khác biệt giữa JScrollBar và JScrollPane trong Java