
- Swing 教程
- Swing - 首頁
- Swing - 概述
- Swing - 環境
- Swing - 控制元件
- Swing - 事件處理
- Swing - 事件類
- Swing - 事件監聽器
- Swing - 事件介面卡
- Swing - 佈局
- Swing - 選單
- Swing - 容器
- Swing 有用資源
- Swing - 快速指南
- Swing - 有用資源
- Swing - 討論
Swing - JSpinner 類
介紹
JSpinner 類是一個元件,它允許使用者使用輸入欄位從有序序列中選擇數字或物件值。
類宣告
以下是 javax.swing.JSpinner 類的宣告:
public class JSpinner extends JComponent implements Accessible
類建構函式
序號 | 建構函式 & 描述 |
---|---|
1 |
JSpinner() 構造一個帶有 Integer SpinnerNumberModel 的微調器,初始值為 0,沒有最小或最大限制。 |
2 |
JSpinner(SpinnerModel model) 使用一對“下一步/上一步”按鈕和 SpinnerModel 的編輯器構造一個完整的微調器。 |
類方法
序號 | 方法 & 描述 |
---|---|
1 |
void addChangeListener(ChangeListener listener) 向監聽器列表中新增一個監聽器,每次模型發生更改時都會通知該監聽器。 |
2 |
void commitEdit() 將當前編輯的值提交到 SpinnerModel。 |
3 |
protected JComponent createEditor(SpinnerModel model) 建構函式呼叫此方法以建立顯示序列當前值的 JComponent。 |
4 |
protected void fireStateChanged() 向每個 ChangeListener 傳送一個 ChangeEvent,該事件的源是此 JSpinner。 |
5 |
AccessibleContext getAccessibleContext() 獲取 JSpinner 的 AccessibleContext。 |
6 |
ChangeListener[] getChangeListeners() 返回新增到此 JSpinner 中的所有 ChangeListener 的陣列,這些監聽器是使用 addChangeListener() 新增的。 |
7 |
JComponent getEditor() 返回顯示並可能更改模型值的元件。 |
8 |
SpinnerModel getModel() 返回定義此微調器值序列的 SpinnerModel。 |
9 |
Object getNextValue() 返回序列中在 getValue() 返回的物件之後的物件。 |
10 |
Object getPreviousValue() 返回序列中在 getValue() 返回的物件之前的物件。 |
11 |
SpinnerUI getUI() 返回呈現此元件的外觀和感覺 (L&F) 物件。 |
12 |
String getUIClassID() 返回用於構造呈現此元件的 Look and Feel (L&F) 類名稱的字尾。 |
13 |
Object getValue() 返回模型的當前值,通常此值由編輯器顯示。 |
14 |
void removeChangeListener(ChangeListener listener) 從此微調器中移除 ChangeListener。 |
15 |
void setEditor(JComponent editor) 更改顯示 SpinnerModel 當前值的 JComponent。 |
16 |
void setModel(SpinnerModel model) 更改表示此微調器值的模型。 |
17 |
void setUI(SpinnerUI ui) 設定呈現此元件的外觀和感覺 (L&F) 物件。 |
18 |
void setValue(Object value) 更改模型的當前值,通常此值由編輯器顯示。 |
19 |
void updateUI() 使用來自當前外觀和感覺的值重置 UI 屬性。 |
繼承的方法
此類繼承自以下類的方法:
- javax.swing.JComponent
- java.awt.Container
- java.awt.Component
- java.lang.Object
JSpinner 示例
使用您選擇的任何編輯器建立以下 Java 程式,例如在 D:/ > SWING > com > tutorialspoint > gui > 中
SwingControlDemo.java
package com.tutorialspoint.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(); } private void prepareGUI(){ mainFrame = new JFrame("Java Swing Examples"); 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 showSpinnerDemo(){ headerLabel.setText("Control in action: JSpinner"); SpinnerModel spinnerModel = new SpinnerNumberModel(10, //initial value 0, //min 100, //max 1);//step JSpinner spinner = new JSpinner(spinnerModel); spinner.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { statusLabel.setText("Value : " + ((JSpinner)e.getSource()).getValue()); } }); controlPanel.add(spinner); mainFrame.setVisible(true); } }
使用命令提示符編譯程式。轉到 D:/ > SWING 並輸入以下命令。
D:\SWING>javac com\tutorialspoint\gui\SwingControlDemo.java
如果未發生錯誤,則表示編譯成功。使用以下命令執行程式。
D:\SWING>java com.tutorialspoint.gui.SwingControlDemo
驗證以下輸出。
