View Full Version : سوال: TextBox ای برای گرفتن اعداد
ghaban
شنبه 02 بهمن 1389, 11:14 صبح
براي اينكه در يك تكس باكس فقط عدد بتوان وارد كرد چه بايد كرد
archDevil
جمعه 15 بهمن 1389, 16:04 عصر
با سلام خدمت شما دوست عزیز
ساده ترین کار اینکه توی event مربوط به تکس باکس caret update رو انتخاب کنی و اعداد وارد شده رو تبدیل به یک شی از نوع عدد صحیح تبدیل کنی و انو توی try catchبزاری که اگه در تبدیل به عدد کردن اون رشته مشکلی داشت پیغام مربوطه رو ارائه بده
موفق باشی
javaphantom
شنبه 16 بهمن 1389, 10:43 صبح
براي اينكه در يك تكس باكس فقط عدد بتوان وارد كرد چه بايد كرد
public class Main extends JFrame {
private JTextField myTextField;
public Main() {
this.setBounds(new Rectangle(300, 300));
this.setLayout(new FlowLayout());
this.getContentPane().add(this.getMyTextField());
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
}
public JTextField getMyTextField() {
if (this.myTextField == null) {
this.myTextField = new JTextField();
this.myTextField.setColumns(20);
this.myTextField.addKeyListener(new KeyAdapter() {
private boolean b = false;
/**
* Invoked when a key has been typed.
* This event occurs when a key press is followed by a key release.
*/
@Override
public void keyTyped(KeyEvent e) {
System.out.println("e.getKeyChar() = " + e.getKeyChar());
char[] numberChars = {'1', '2', '3', '4', '5', '6', '7', '8', '9', '0'};
for (int i = 0; i < numberChars.length; i++) {
if (e.getKeyChar() == numberChars[i]) {
b = !b;
break;
}
}
if (!b) {
e.consume();
} else {
b = !b;
}
}
});
}
return myTextField;
}
public static void main(String[] s) {
new Main();
}
}
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.