Lớp JSpinner trong Java Swing Lớp JSpinner là một thành phần cho phép người dùng lựa chọn một số hoặc một giá trị đối tượng từ một dãy đã qua sắp xếp bởi sử dụng một trường đầu vào.. Cú
Trang 1Lớp JSpinner trong Java Swing
Lớp JSpinner là một thành phần cho phép người dùng lựa chọn một số hoặc một giá trị đối tượng
từ một dãy đã qua sắp xếp bởi sử dụng một trường đầu vào Cú pháp khai báo của lớp javax.swing.JSpinner là:
public class JSpinner
extends JComponent
implements Accessible
Lớp này kế thừa các phương thức từ các lớp sau:
javax.swing.JComponent
java.awt.Container
java.awt.Component
java.lang.Object
Các constructor của lớp JSpinner trong Java Swing
JSpinner(): Xây dựng một spinner với một Integer SpinnerNumberModel với giá trị khởi tạo 0 và
không có giới hạn lớn nhất và nhỏ nhất
JSpinner(SpinnerModel model): Xây dựng một spinner đầy đủ với một cặp nút next/previous và
một editor cho SpinnerModel
Các phương thức của lớp JSpinner trong Java Swing
STT Phương thức & Miêu tả
1 void removeChangeListener(ChangeListener listener)
Xóa một ChangeListener từ spinner này
2 void setEditor(JComponent editor)
Trang 2Thay đổi JComponent mà hiển thị giá trị hiện tại của SpinnerModel
3 void setModel(SpinnerModel model)
Thay đổi model mà biểu diễn giá trị của spinner này
4 void setUI(SpinnerUI ui)
Thiết lập đối tượng L&F mà truyền spinner này
5 void setValue(Object value)
Thay đổi giá trị hiện tại của model, đặt trưng của giá trị này là được hiển thị bởi Editor
6 void updateUI()
Phục hồi thuộc tính UI về giá trị L&F hiện tại
7 void addChangeListener(ChangeListener listener)
Thêm một listener tới list mà được thông báo mỗi khi xuất hiện một thay đổi tới model
8 void commitEdit()
Ký thác giá trị đã sửa đổi hiện tại tới SpinnerModel
9 protected JComponent createEditor(SpinnerModel model)
Phương thức này được gọi bởi các constructor để tạo JComponent mà hiển thị giá trị hiện tại của dãy
10 protected void fireStateChanged()
Gửi một ChangeEvent, có source là JSpinner này, tới mỗi ChangeListener
11 AccessibleContext getAccessibleContext()
Trang 3Lấy AccessibleContext cho JSpinner
12 ChangeListener[] getChangeListeners()
Trả về một mảng tất cả ChangeListeners được thêm tới JSpinner này với phương thức addChangeListener()
13 JComponent getEditor()
Trả về thành phần mà hiển thị và thay đổi giá trị của model
Chương trình ví dụ lớp JSpinner trong Java Swing
package com vietjack gui ;
import java awt *;
import java awt event *;
import javax swing *;
import javax swing event *;
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 showSpinnerDemo ();
Trang 4}
private void prepareGUI (){
mainFrame = new JFrame ( "Vi du Java Swing" );
mainFrame setSize ( 400 , 400 );
mainFrame setLayout ( new GridLayout ( , 1 ));
mainFrame addWindowListener ( new WindowAdapter ()
public void windowClosing ( WindowEvent windowEvent ){
System exit ( );
}
});
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 showSpinnerDemo (){
headerLabel setText ( "Control in action: JSpinner" );
SpinnerModel spinnerModel =
new SpinnerNumberModel ( 10 , //initial value
0 //min
100 , //max
1 ); //step
Trang 5JSpinner spinner = new JSpinner ( spinnerModel );
spinner addChangeListener ( new ChangeListener ()
public void stateChanged ( ChangeEvent e ) {
statusLabel setText ( "Value : "
+ (( JSpinner ) getSource ()) getValue ());
}
});
controlPanel add ( spinner );
mainFrame setVisible ( true );
}
}