import java.awt.Component;
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JOptionPane;
public class NewJFrame extends javax.swing.JFrame {
private Component frame;
public NewJFrame() {
initComponents();
//To set the position of the frame window in the center of the screen regardless of the screen resoluiton...
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int left = (d.width - this.getWidth()) / 2;
int top = (d.height - this.getHeight()) / 2;
this.setLocation(left, top);
}
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jFormattedTextField2 = new javax.swing.JFormattedTextField();
jButton1 = new javax.swing.JButton();
jFormattedTextField1 = new javax.swing.JFormattedTextField();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setText("Enter Only Integers");
jLabel2.setText("Enter Only Alphabets");
jButton1.setText("Done!");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
// SETTING THE COMPONENTS...
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(35, 35, 35)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel2)
.addComponent(jLabel1))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jFormattedTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 144, Short.MAX_VALUE)
.addComponent(jFormattedTextField2, javax.swing.GroupLayout.DEFAULT_SIZE, 144, Short.MAX_VALUE)))
.addGroup(layout.createSequentialGroup()
.addGap(120, 120, 120)
.addComponent(jButton1)))
.addGap(14, 14, 14))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(29, 29, 29)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(jFormattedTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(31, 31, 31)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(jFormattedTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 31, Short.MAX_VALUE)
.addComponent(jButton1)
.addGap(29, 29, 29))
);
pack();
}
// NOW HERE GOES THE LOGIC...
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try {
//Must take only INTEGERS.
String str1 = jFormattedTextField1.getText();
int entered_integer = Integer.parseInt(str1);
//Must take only ALPHABETS.
String str2 = jFormattedTextField2.getText();
JOptionPane.showMessageDialog(frame, "Entered Integer is: " + entered_integer + "\nEntered Aplhabet is: " + str2);
jFormattedTextField1.setText("");
jFormattedTextField2.setText("");
} catch (Exception e) {
JOptionPane.showMessageDialog(frame, "Oops!, You did something wrong!");
jFormattedTextField1.setText("");
jFormattedTextField2.setText("");
}
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new NewJFrame().setVisible(true);
}
});
}
private javax.swing.JButton jButton1;
private javax.swing.JFormattedTextField jFormattedTextField1;
private javax.swing.JFormattedTextField jFormattedTextField2;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
}
Может кто-нибудь сказать мне, почему это используется?:
jFormattedTextField.setFormatterFactory(
new DefaultFormatterFactory(new NumberFormatter(new DecimalFormat("#0"))));