java jspinner控件_Swing JSpinner类

JSpinner是Java Swing中的一个组件,用于让用户从有序序列中选择数字或对象值。本文介绍了JSpinner的构造函数、类方法以及如何创建并使用JSpinner的示例代码。通过JSpinner,可以方便地实现数值选择,并且可以通过监听器实现实时更新。
摘要由CSDN通过智能技术生成

JSpinner类是一个组件,它允许用户使用输入字段从有序序列中选择数字或对象值。

类声明

以下是javax.swing.JSpinner类的声明 -

public class JSpinner

extends JComponent

implements Accessible

类构造函数编号

构造函数

描述

1

JSpinner()

构造一个带有整数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()

将ChangeEvent(其源是此JSpinner)发送到每个ChangeListener。

5

AccessibleContext getAccessibleContext()

获取JSpinner的AccessibleContext。

6

ChangeListener[] getChangeListeners()

返回使用addChangeListener()添加到此JSpinner的所有ChangeListener的数组。

7

JComponent getEditor()

返回显示并可能更改模型值的组件。

8

SpinnerModel getModel()

返回定义此微调器值序列的SpinnerModel。

9

Object getNextValue()

返回由getValue()返回的对象之后的序列中的对象。

10

Object getPreviousValue()

返回由getValue()返回的对象之前的序列中的对象。

11

SpinnerUI getUI()

返回呈现此组件的外观(L&F)对象。

12

String getUIClassID()

返回用于构造用于呈现此组件的外观(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程序:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.event.*;

public class JSpinnerExample {

private JFrame mainFrame;

private JLabel headerLabel;

private JLabel statusLabel;

private JPanel controlPanel;

public JSpinnerExample() {

prepareGUI();

}

public static void main(String[] args) {

JSpinnerExample swingControlDemo = new JSpinnerExample();

swingControlDemo.showSpinnerDemo();

}

private void prepareGUI() {

mainFrame = new JFrame("Java Swing JSpinner示例(yiibai.com)");

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("当前设置值 : " + ((JSpinner) e.getSource()).getValue());

}

});

controlPanel.add(spinner);

mainFrame.setVisible(true);

}

}

执行上面示例代码,得到以下结果:

d4eebdc10cf57542bd132eb2550cca2b.png

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值