Я пытаюсь получить значение из моего Калькулятора (который находится в своем отдельном классе) в JTextPane
в моем другом классе.Меня беспокоит только то, что я не могу этого сделать из-за дизайна моей программы.
В моем основном классе у меня есть внутренний класс, который открывает другой кадр при нажатии JMenuItem
.
public class Notepad extends JFrame
{
...
// Opens when the user clicks Calculator
// (JMenuItem in the JFrame of the Notepad class)
private class Calculator implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
Calculate c = new Calculate();
c.buildGUI();
// I've tried creating a reference to the Insert class and tried to
// retrieve the value from the JLabel in the Calculator but continuously
// receive a NullPointerException
}
}
...
}
А в другом моем классевнутренний класс для кнопки «Вставка» (который позволяет пользователю вставить свой ответ в JTextPane
, если он пожелает).
*** Я пробовал здесь много вещей, таких как создание "getter "и" setter ", которые передают значение в класс Notepad, но обнаружили, что они не работают из-за настройки моей программы.
public class Calculate extends JFrame
{
...
/* Insert
* Inserts the answer into the
* text pane of the Notepad class
*/
private class Insert implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String answer = proposal.getText(); // from the JLabel
if (answer.isEmpty()) JOptionPane.showMessageDialog(frame, "Enter two numbers and hit the desired operator, please");
// else, insert the answer
// ***
}
}
...
}
Еще один из моихпроблема в том, что при нажатии JMenuItem
(Калькулятор) в рамке моего Блокнота я получаю NullPointerException
, потому что в JLabel
(Ответ для калькулятора) нет значения.
Так какя могу получить значение JLabel
из Калькулятора и поместить его в JTextPane
моей рамки Блокнота, когда нажата кнопка «Вставить»?Также, если моя программа не настроена для выполнения такого действия, есть ли у вас какие-либо предложения по изменению дизайна?