Не правильный ввод в текстовое поле JTextField - Java
Формулировка задачи:
Ребята помогите решить проблему. У меня есть два текстовых поля JTextField, куда вводятся цифры и кнопка JButton, которая эти цифры, например, суммирует. Как сделать так, чтобы например, если пользователь не заполнил одно или два текстовых поля и нажал кнопку, не было ошибки, а просто выскакивает окно с надписью "не правильный ввод!", и программа не продолжалась выполнятся далее, пока пользователь не ведет данные в текстовые поля???
Решение задачи: «Не правильный ввод в текстовое поле JTextField»
textual
Листинг программы
import javax.swing.*; import java.awt.*; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.util.Arrays; public class TestGUI { public static void main(String[] args) { //создаём фрэйм JFrame frame = new JFrame("TestGUI"); frame.setSize(300, 300); frame.setLayout(null); frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); frame.setLocationRelativeTo(null); //создаём TextField JTextField edit = new JTextField(); edit.setBounds(100, 100, 100, 25); edit.setBackground(Color.pink); edit.select(0,0); frame.add(edit); frame.setVisible(true); edit.addKeyListener(new KeyAdapter() { @Override public void keyTyped(KeyEvent e) { super.keyTyped(e); char key = e.getKeyChar(); if (!isCorrectKey(edit, key)) { e.consume(); } } }); } public static boolean isCorrectKey(JTextField edit, char key) { double number = 0; if (key == '.' || Character.isDigit(key) == true){ try { number = Double.parseDouble(edit.getText() + key); } catch (NumberFormatException e) { } if (number == 0) return false; else if (number > 15) return false; else { String strTemp = edit.getText() + key; String[] strArrayTemp = strTemp.split("[.]"); if (strArrayTemp.length == 2 && strArrayTemp[1].length() > 3) return false; else return true; } } else if (key == 8 || key == KeyEvent.VK_DELETE){ if (edit.getText().length() != 0 && Double.parseDouble(edit.getText()) > 15){ edit.setText("15"); return true; } else return false; } else return false; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д