本示例说明如何创建JSpinner组件并将aSpinnerListModel作为可用值传递JSpinner。在SpinnerListModel可容纳集合对象的一个值和对象实例的简单阵列。
package org.nhooo.example.swing;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class JSpinnerCreateDemo extends JFrame {
public JSpinnerCreateDemo() {
initializeUI();
}
private void initializeUI() {
setSize(300, 300);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
// 创建一个颜色名称数组,我们将其用作
// SpinnerListMode的来源。
String[] colors = new String[] {
"Red", "Orange", "Yellow", "Green", "Blue", "Purple"
};
SpinnerListModel model = new SpinnerListModel(colors);
// 创建一个以Spinner模型作为值的JSpinner实例。
// 当我们使用JSpinner时,我们可以选择颜色名称
// 按下面的JButton。
final JSpinner spinner = new JSpinner(model);
getContentPane().add(spinner, BorderLayout.NORTH);
JButton okButton = new JButton("OK");
okButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String color = (String) spinner.getValue();
System.out.println("Color = " + color);
}
});
getContentPane().add(okButton, BorderLayout.SOUTH);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new JSpinnerCreateDemo().setVisible(true);
}
});
}
}