Lớp JScrollBar là một trình triển khai của thanh cuốn scrollbar.
Dưới đây là cú pháp khai báo của lớp javax.swing.JScrollBar:
public class JScrollBar extends JComponent implements Adjustable, Accessible
Lớp này kế thừa các phương thức từ các lớp sau:
- java.lang.Object
Lớp JScrollbar bao gồm các trường sau:
- protected int blockIncrement
- protected BoundedRangeModel model: Đây là model biểu diễn giá trị nhỏ nhất, lớn nhất, phạm vi và giá trị hiện tại của scrollbar.
- protected int orientation
- protected int unitIncrement
Các constructor của lớp JScrollBar trong Java Swing
JScrollBar(): Tạo một thanh cuốn scrollbar theo chiều dọc với các giá trị khởi tạo ban đầu.
JScrollBar(int orientation): Tạo một thanh cuốn scrollbar với hướng orientation đã cho và các giá trị khởi tạo ban đầu.
JScrollBar(int orientation, int value, int extent, int min, int max): Tạo một thanh cuốn scrollbar với hướng orientation, giá trị value, phạm vi extent, minium và maximum.
Các phương thức của lớp JScrollBar trong Java Swing
STT | Phương thức & Miêu tả |
---|---|
1 | void removeAdjustmentListener(AdjustmentListener l) Xóa một AdjustmentEvent listener |
2 | void setBlockIncrement(int blockIncrement) Thiết lập thuộc tính blockIncrement |
3 | void setEnabled(boolean x) Kích hoạt thành phần để mà vị trí nút bấm có thể được thay đổi |
4 | void setMaximum(int maximum) Thiết lập thuộc tính maximum của model |
5 | void setMinimum(int minimum) Thiết lập thuộc tính minimum của model |
6 | void setModel(BoundedRangeModel newModel) Thiết lập model mà xử lý 4 thành phần cơ bản của scrollbar là: minimum, maximum, value, extent |
7 | void setOrientation(int orientation) Thiết lập hướng orientation của scrollbar là VERTICAL hoặc HORIZONTAL |
8 | void setUI(ScrollBarUI ui) Thiết lập đối tượng L&F mà truyền thành phần này |
9 | void setUnitIncrement(int unitIncrement) Thiết lập thuộc tính unitIncrement |
10 | void setValue(int value) Thiết lập giá trị value của scrollbar |
11 | void setValueIsAdjusting(boolean b) Thiết lập thuộc tính valueIsAdjusting của model |
12 | void setValues(int newValue, int newExtent, int newMin, int newMax) Thiết lập 4 thuộc tính BoundedRangeModel sau khi ép buộc các tham số tuân theo các ràng buộc thông thường |
13 | void setVisibleAmount(int extent) Thiết lập thuộc tính extent của model |
14 | void updateUI() Ghi đè phương thức JComponent.updateUI |
15 | void addAdjustmentListener(AdjustmentListener l) Thêm một AdjustmentListener |
16 | protected void fireAdjustmentValueChanged(int id, int type, int value) Thông báo cho listener rằng mô hình của scrollbar đã thay đổi |
17 | int getBlockIncrement(int direction) Trả về lượng để thay đổi giá trị của scrollbar, đã được cung cấp một yêu cầu (thường là "page") |
18 | int getMaximum() Giá trị mở rộng lớn nhất của scrollbar |
19 | Dimension getMaximumSize() Scrollbar là linh động theo trục cuốn của nó và cứng nhắc với trục khác |
20 | BoundedRangeModel getModel() Trả về data model mà xử lý 4 thuộc tính nền tảng của scrollbar: minimum, maximum, value, extent. |
Chương trình ví dụ lớp JScrollBar
package com.hoclaptrinh.gui; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class SwingControlDemo { private JFrame mainFrame; private JLabel headerLabel; private JLabel statusLabel; private JPanel controlPanel; public SwingControlDemo(){ prepareGUI(); } public static void main(String[] args){ SwingControlDemo swingControlDemo = new SwingControlDemo(); swingControlDemo.showScrollbarDemo(); } private void prepareGUI(){ mainFrame = new JFrame("Vi du Java Swing"); mainFrame.setSize(400,400); mainFrame.setLayout(new GridLayout(3, 1)); mainFrame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent windowEvent){ System.exit(0); } }); headerLabel = new JLabel("", JLabel.CENTER); statusLabel = new JLabel("",JLabel.CENTER); statusLabel.setSize(350,100); controlPanel = new JPanel(); controlPanel.setLayout(new FlowLayout()); mainFrame.add(headerLabel); mainFrame.add(controlPanel); mainFrame.add(statusLabel); mainFrame.setVisible(true); } private void showScrollbarDemo(){ headerLabel.setText("Control in action: JScrollbar"); final JScrollBar horizontalScroller = new JScrollBar(JScrollBar.HORIZONTAL); final JScrollBar verticalScroller = new JScrollBar(); verticalScroller.setOrientation(JScrollBar.VERTICAL); horizontalScroller.setMaximum (100); horizontalScroller.setMinimum (1); verticalScroller.setMaximum (100); verticalScroller.setMinimum (1); horizontalScroller.addAdjustmentListener(new AdjustmentListener() { @Override public void adjustmentValueChanged(AdjustmentEvent e) { statusLabel.setText("Horozontal: " +horizontalScroller.getValue() +" ,Vertical: " + verticalScroller.getValue()); } }); verticalScroller.addAdjustmentListener(new AdjustmentListener() { @Override public void adjustmentValueChanged(AdjustmentEvent e) { statusLabel.setText("Horozontal: " +horizontalScroller.getValue() +" ,Vertical: "+ verticalScroller.getValue()); } }); controlPanel.add(horizontalScroller); controlPanel.add(verticalScroller); mainFrame.setVisible(true); } }