Disabling
Keyboard Editing in a JSpinner Component

In this section, you will see how to create a non
editable Spinner component of Java Swing. You can increase it's value by
clicking up and down button. Through the given program
you can only increase and decrease the value nor write the value directly in the
Spinner component of java. The JSpinner component, which is disable for the
keyboard editing looks like the following image:

In this program, a Spinner component has been created
and set for editing mode of the Spinner. The Spinner has been disabled for
editing
using setEditable() method. Some following methods and APIs are explained as
follows:
JFormattedTextField:
This is the class of javax.swing.*;
package which creates formatted text field for edit text in the specified format.
For creating a JFormattedTextField, the syntax is written like:
JFormattedTextField tf = ((JSpinner.DefaultEditor)spinner.getEditor()).getTextField();
getTextField():
This method creates a JFormattedTextField for edit
in the specified format. This is defined in the JSpinner.DefaultEditor
class.
getEditor():
This is the method of JSpinner class. This
method is used to get the editor which has been using for the JSpinner
component.
Here is the code of the program:
import javax.swing.*;
import java.awt.*;
public class DesableEditingSpinner{
public static void main(String[] args){
JFrame frame = new JFrame("Desabling editing Spinner");
JSpinner spinner = new JSpinner();
JFormattedTextField tf = ((JSpinner.DefaultEditor)spinner.getEditor())
.getTextField();
tf.setEditable(false);
spinner.setValue(new Integer(100));
JPanel panel = new JPanel();
panel.add(spinner);
frame.add(panel, BorderLayout.NORTH);
frame.setSize(400, 400);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
|
Download this
example.

|