JScrollBar เป็น Component ไม่จัดการ Event เอง ในขณะที่ JScrollPane เป็น Container จัดการ Event เองและเลื่อนเอง JScrollBar ไม่สามารถมี JScrollPane แต่ JScrollPane สามารถมี JScrollBar ได้
JScrollBar
- อ็อบเจกต์ JScrollBar ใช้เพิ่ม Scrollbar แนวนอนและแนวตั้ง ให้ผู้ใช้เลือกค่าระหว่าง Min/Max
- JScrollBar class เป็นการ implement Scrollbar สืบทอดจาก JComponent
ไวยากรณ์
public class JScrollBar extends JComponent implements Adjustable, Accessible
ตัวอย่าง JScrollBar
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 ใช้ทำมุมมองที่เลื่อนได้ของคอมโพเนนต์
- Scroll Pane เป็นอ็อบเจกต์ของ JScrollPane ขยายจาก JComponent
- ขนาดหน้าจอจำกัด ใช้ Scroll Pane แสดงคอมโพเนนต์ใหญ่ หรือที่เปลี่ยนขนาดไดนามิก
- เมธอดสำคัญ: setColumnHeaderView(), setRowHeaderView(), setViewportView()
ตัวอย่าง JScrollPane
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();
}
}
ผลลัพธ์
