Настройка обработки исключений Java для моей программыJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Настройка обработки исключений Java для моей программы

Сообщение Anonymous »

Я пытался обработать некоторые исключения в коде детектора простых чисел, над которым я работаю. Это мой текущий код:

Код: Выделить всё

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.math.BigInteger;

public class Frame1 {
private JFrame frame;
private JPanel panel;
private JTextField textField;
private JLabel label;
private JButton button;
private JLabel DisplayLabel;
private JPanel DisplayPanel;

public Frame1() {
initialize();
}

private void initialize() {
frame = new JFrame();
frame.setTitle("Prime Detector");
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setSize(420, 420);
frame.setLayout(new BorderLayout(10, 10));
frame.setLocationRelativeTo(null);

panel = new JPanel();
panel.setLayout(new FlowLayout());
panel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));

label = new JLabel("Enter a number");
label.setFont(new Font("Times New Roman", Font.BOLD, 20));
panel.add(label);

DisplayPanel = new JPanel();
DisplayPanel.setLayout(new FlowLayout());
DisplayPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
DisplayPanel.setVisible(false);

DisplayLabel = new JLabel();
DisplayLabel.setFont(new Font("Times New Roman", Font.BOLD, 30));

textField = createJTextField();
panel.add(textField);

button = new JButton("Enter");
button.setFocusable(false);
button.setBackground(Color.lightGray);
button.setBorder(BorderFactory.createEtchedBorder());
button.setForeground(Color.cyan);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
TheCode code = new TheCode();
BigInteger number = new BigInteger(textField.getText());
try{
code.primeDetector(number);

if (TheCode.IsItPrime) {
DisplayLabel.setText(number + " is prime.");
DisplayLabel.setVisible(true);
DisplayPanel.setVisible(true);
DisplayPanel.add(DisplayLabel);
} else {
DisplayLabel.setText(number + " isn't prime.");
DisplayLabel.setVisible(true);
DisplayPanel.setVisible(true);
DisplayPanel.add(DisplayLabel);
}
}catch(Exception exception){
DisplayLabel.setText("Enter a Valid Number");
}
}
});

panel.add(button);

frame.add(panel, BorderLayout.NORTH);
frame.add(DisplayPanel, BorderLayout.CENTER);
}

public void show() {
frame.setVisible(true);
}

private JTextField createJTextField() {
JTextField textField = new JTextField(10);

return textField;

}
}
Однако, когда я запускаю этот код и пытаюсь ввести что-то недопустимое, он все равно показывает красное сообщение об исключении в консоли, что я и пытаюсь предотвратить. Может ли кто-нибудь мне помочь? (Кстати, метод primeDetector и класс TheCode четко определены и работают должным образом)

Подробнее здесь: https://stackoverflow.com/questions/791 ... my-program
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»