Очень простой вопрос ООП
Привет,
моя задача-смоделировать радио с помощью ООП.
У меня есть 3 класса: класс GUI для радио с меткой "lblFreq", класс для различных каналов, которые я хочу создать "Sender.java - и контрольный класс для выполнения различных задач.
Мои каналы имеют 2 атрибута:" Freq "для частоты (двойной) и" Channel " для имени канала (строка).
public class Sender { private double Freq; private String Channel; public Sender(double Freq, String Channel) { this.Freq = Freq; this.Channel = Channel; } public double getFreq() { return Freq; } public String getChannel() { return Channel; } }
мой контрольный класс должен заполнить его именем и частотой:
public class Steuerung { private RadioGUI dieGUI; private Sender dieSender; Sender bigFM = new Sender(89.5, "BigFM"); }
и я хочу показать частоту в метке в моем графическом интерфейсе, когда я нажимаю кнопку " btnForward":
private Steuerung dieST; (....) public void btnForward_ActionPerformed(ActionEvent evt) { lblFreq.setText(String.valueOf(dieST.bigFM.getFreq())); }
Я получаю сообщение об ошибке, как только нажимаю эту кнопку, журнал ошибок находится ниже.
Я думаю, это потому, что я что-то испортил в
lblFreq.setText(String.valueOf(dieST.bigFM.getFreq()));
Я думаю.
Спасибо за любую помощь.
Журнал ошибок:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at RadioGUI.btnForward_ActionPerformed(RadioGUI.java:249) at RadioGUI$2.actionPerformed(RadioGUI.java:77) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.Component.processMouseEvent(Component.java:6505) at javax.swing.JComponent.processMouseEvent(JComponent.java:3320) at java.awt.Component.processEvent(Component.java:6270) at java.awt.Container.processEvent(Container.java:2229) at java.awt.Component.dispatchEventImpl(Component.java:4861) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422) at java.awt.Container.dispatchEventImpl(Container.java:2273) at java.awt.Window.dispatchEventImpl(Window.java:2719) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735) at java.awt.EventQueue.access$200(EventQueue.java:103) at java.awt.EventQueue$3.run(EventQueue.java:694) at java.awt.EventQueue$3.run(EventQueue.java:692) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87) at java.awt.EventQueue$4.run(EventQueue.java:708) at java.awt.EventQueue$4.run(EventQueue.java:706) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:705) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Что я уже пробовал:
Пробовал другие коды в lblFreq. setText... но в основном все заканчивалось той же ошибкой или даже не начиналось.
[no name]
"NullPointerException" означает только то, что вы пытаетесь использовать объект или свойства или метод объекта, который является нулевым. Вам нужно научиться использовать свой отладчик для поиска и устранения подобных проблем. Из вашего примера кода я должен был бы предположить, что dieST равен null, так как вы нигде не показываете, что он создается.
Member 12943657
Вау, спасибо, я совсем забыла об этом! Починил его, Спасибо!