Input/Output Warum wirft mir das Programm diesen Fehler?

UbuLin

Mitglied
Hallo,
wollte ein kleines Zeichenprogramm schreiben klappt eigentlich aber währenddessen ich das Programm ausführe spamt das Programm mir den folgenden Fehler in die Console

Java:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at de.timux.gui.Label.paintComponent(Label.java:44)
    at de.timux.listeners.MouseHandler.mouseMoved(MouseHandler.java:37)
    at java.awt.Component.processMouseMotionEvent(Component.java:6578)
    at java.awt.Component.processEvent(Component.java:6302)
    at java.awt.Container.processEvent(Container.java:2236)
    at java.awt.Window.processEvent(Window.java:2025)
    at java.awt.Component.dispatchEventImpl(Component.java:4889)
    at java.awt.Container.dispatchEventImpl(Container.java:2294)
    at java.awt.Window.dispatchEventImpl(Window.java:2746)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.awt.EventQueue$4.run(EventQueue.java:729)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Meine Frage. Weiß jemand warum oder wann dieser Fehler auftritt und könnte mir dies schreiben. Ist halt so extrem dumm den man kann keine Sysouts mehr lesen die man geschrieben hat.
Könnte für den Notfall auch meinen Code posten, dachte aber vielleicht kann mir ja einer sagen warum dieser Fehler allgemein auftritt.
Hoffe auf hilfreiche Antworten!

Lg UbuLin:)
 

UbuLin

Mitglied
Ok hier die Main:

Java:
package de.timux.main;

import de.timux.gui.Fenster;
import de.timux.gui.Label;
import de.timux.listeners.MouseHandler;
import de.timux.objects.Var;

public class Main {

    public static void main(String[] args) {
       
        new Var();
        new MouseHandler();
        new Label();
        new Fenster();

    }

}

Hier die Var Klasse

Java:
package de.timux.objects;

public class Var {
   
    public static short frameWidth = 500,
                        frameHight = 500;
   
    public static short mouseX,
                        mouseY;

}

Hier die MouseHandler Klasse

Java:
package de.timux.listeners;

import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;

import de.timux.gui.Label;
import de.timux.objects.Var;

public class MouseHandler implements MouseListener, MouseMotionListener {
   
    Label label = new Label();

    @Override
    public void mousePressed(MouseEvent e) {
        this.label.getPaint();
    }

    @Override
    public void mouseReleased(MouseEvent e) {
        this.label.getNotPaint();
       
    }

    @Override
    public void mouseDragged(MouseEvent e) {
       
    }

    @Override
    public void mouseMoved(MouseEvent e) {
        Var.mouseX = (short) e.getX();
        Var.mouseY = (short) e.getY();
        // System.out.println("mouseX: " + Var.mouseX + "\nmouseY: " + Var.mouseY);
        this.label.setmX(e.getX());
        this.label.setmY(e.getY());
        this.label.paintComponent(this.label.getGraphics());
           
    }

   
   
   
   
   
   
   
    // wird momentan nicht benötigt
    @Override
    public void mouseClicked(MouseEvent e) {
        // TODO Auto-generated method stub
       
    }

    @Override
    public void mouseEntered(MouseEvent e) {
        // TODO Auto-generated method stub
       
    }

    @Override
    public void mouseExited(MouseEvent e) {
        // TODO Auto-generated method stub
       
    }

}

Hier die Label Klasse

Java:
package de.timux.gui;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;

import javax.swing.JLabel;
import javax.swing.JPanel;

import de.timux.objects.Var;

public class Label extends JPanel{
   
    public static int mX;
    public static int mY;
    public static boolean paint = false;
   
    public int getmX() {
        return mX;
    }

    public void setmX(int mX) {
        Label.mX = mX;
    }

    public int getmY() {
        return mY;
    }

    public void setmY(int mY) {
        Label.mY = mY;
    }
   
    public void getPaint() {
        paint = true;
    }
   
    public void getNotPaint() {
        paint = false;
    }
   
    public void paintComponent(Graphics g) {
       
        g.setColor(Color.BLACK);
        g.fillOval(mX, mY, 50, 50);
       
        repaint();

    }

}

Und hier die Fenster Klasse

Java:
package de.timux.gui;

import java.awt.Container;

import javax.swing.JFrame;
import javax.swing.JLabel;

import de.timux.listeners.MouseHandler;
import de.timux.objects.Var;

public class Fenster extends JFrame {
   
    private static final long serialVersionUID = 1L;
    private JFrame frame;
    private Label label;
   
    public Fenster() {
       
        frame = new JFrame();
        this.setTitle("Malprogramm");
        this.setSize(500, 500);
        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.addMouseListener(new MouseHandler());
        this.addMouseMotionListener(new MouseHandler());
        Container c = getContentPane();
        this.label = new Label();
        c.add(label);
        this.setVisible(true);
       
    }

}
 

Enceladus271

Bekanntes Mitglied
Wenn ich das richtig sehe erzeugst du in deinem MouseHandler ein Label das aber nirgendwo angezeigt wird. label.getGraphics() wird daher null zurück liefern, wodurch in der paintComponent die NullPointerException geworfen wird.

Es macht übrigens in den seltensten Fällen Sinn die Methode paintComponent selber aufzurufen. Und ein repaint innerhalb der paintComponent wird wahrscheinlich eine Endlosschleife erzeugen.
 

UbuLin

Mitglied
Hallo vielen Dank für die Antwort. Verstehe jetzt glaube ich wenigstens warum er den Error wirft
Jedoch wenn ich in dem MouseHandler versuche die paintComponent aufzurufen, dann erwartet er Parameter, was soll ich dort reinschreiben?

Hab das mal mit Slashs umrandet

Java:
package de.timux.listeners;

import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;

import de.timux.gui.Label;
import de.timux.objects.Var;

public class MouseHandler implements MouseListener, MouseMotionListener {

    @Override
    public void mousePressed(MouseEvent e) {
        Label.getPaint();
    }

    @Override
    public void mouseReleased(MouseEvent e) {
        Label.getNotPaint();
      
    }

    @Override
    public void mouseDragged(MouseEvent e) {
      
    }

    @Override
    public void mouseMoved(MouseEvent e) {
        Var.mouseX = (short) e.getX();
        Var.mouseY = (short) e.getY();
/////////////////////////////////////////
        /////////////////////////////////
        Label.paintComponent();
        /////////////////////////////////
/////////////////////////////////////////
        Label.setmX(e.getX());
        Label.setmY(e.getY());
      
          
    }

  
  
  
  
  
  
  
    // wird momentan nicht benötigt
    @Override
    public void mouseClicked(MouseEvent e) {
        // TODO Auto-generated method stub
      
    }

    @Override
    public void mouseEntered(MouseEvent e) {
        // TODO Auto-generated method stub
      
    }

    @Override
    public void mouseExited(MouseEvent e) {
        // TODO Auto-generated method stub
      
    }

}
 

Thallius

Top Contributor
PaintComponent() ruft man nicht selber auf. Wenn du willst das das Label neu gezeichnet wird dann rufst du repaint() auf. Das bedeutet aber nicht das das dann unmittelbar geschieht sondern erst wenn Swing meint das es Zeit dafür hat
 

UbuLin

Mitglied
Hallo nochmal,

vielen Dank an alle die auf diesen Thread geantwortet haben, denn es funktioniert jetzt perfect und die nervige Fehlermeldung ist auch nicht mehr da:)

Gibt es irgendeine Funktion um den Thread als gelöst zu markieren, oder zu schließen?

LG UbuLin
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
MarvinsDepression Unbekanntes Zeichen in fremden Code wirft Fragen auf Allgemeine Java-Themen 4
O xlsx Datei auslesen mit POI von Apache wirft seltsamen Fehler. Allgemeine Java-Themen 11
B Maven Keycloak library wirft exceptions nach maven package Allgemeine Java-Themen 1
A Variable, welche Exeption wirft als "Global" deklarieren Allgemeine Java-Themen 13
KilledByCheese Dezimal nach Hexadezimal rechner wirft seltsame exception Allgemeine Java-Themen 4
L Eigenener ClassLoader wirft java.lang.NoClassDefFoundError Allgemeine Java-Themen 0
A Vererbung Klassen-Downcasting wirft ClassCastException Allgemeine Java-Themen 2
R ZIP FileSystem unter Windows wirft exception Allgemeine Java-Themen 7
3 MP3-Finder wirft NullPointerException Allgemeine Java-Themen 13
N Methode wirft FatalError Allgemeine Java-Themen 2
J AudioClip wirft IllegalStateException Allgemeine Java-Themen 2
VfL_Freak ServerSocket wirft nicht immer eine BindException Allgemeine Java-Themen 21
M DefaultTableModel wirft beim Serialisieren Exception :-( Allgemeine Java-Themen 7
T getConstructor() wirft NoSuchMethodException . Allgemeine Java-Themen 7
M Iterator wirft Exception Allgemeine Java-Themen 10
F GregorianCalendar wirft keine Fehler bei z.b. Monat 17 Allgemeine Java-Themen 3
G Font mittels ClassLoader in .jar wirft NotFoundException Allgemeine Java-Themen 10
M Konstruktor, der Excpetions wirft Allgemeine Java-Themen 2
G POI wirft RecordFormatException Allgemeine Java-Themen 3
Jose05 Umgang mit Exceptions in einen Programm Allgemeine Java-Themen 2
E Output Fehler (Java-Programm Kuchen) Allgemeine Java-Themen 11
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
R Programm führt Methoden gleichzeitig aus Allgemeine Java-Themen 2
T Der Aufruf von CMD-Programm Allgemeine Java-Themen 30
A Java Programm erstellen hilfe Allgemeine Java-Themen 10
Mike80 Processing Programm fiert ohne Arduino ein Allgemeine Java-Themen 2
B Mysteriöse Ergebnisse beim Baccarat Programm? Allgemeine Java-Themen 13
districon Programm zum Durchsuchen von (Ebay-)Artikeln Allgemeine Java-Themen 1
T Addons im eigenen Programm Allgemeine Java-Themen 1
Calli11 Was muss ich hier in die Main schreiben, damit das Programm ausgeführt wird? Allgemeine Java-Themen 4
S .exe Datei/Programm auslesen? Allgemeine Java-Themen 2
S Formel für Sonnenwinkel in ein Programm überführen Allgemeine Java-Themen 11
Alex_99 Programm stürzt beim Aufruf der Funktion ab? Text ausgeben Allgemeine Java-Themen 45
B Java Programm auf virutellem Desktop laufen lassen? Allgemeine Java-Themen 1
L Java überprüfen lassen, ob sich ein gegebener Pfad / das Programm an sich auf einer CD oder Festplatte befindet Allgemeine Java-Themen 14
Tiago1234 Warum hängt sich mein Programm auf? Allgemeine Java-Themen 22
D Programm designen Allgemeine Java-Themen 1
S Folgendes Problem bei einem Programm Allgemeine Java-Themen 1
J c Programm läuft nicht in compilierter Version des Java Projektes Allgemeine Java-Themen 7
O 2D-Grafik BioFarben-Programm soll auf Vollbild schalten Allgemeine Java-Themen 1
S Nachrichten Filter Programm Allgemeine Java-Themen 14
S Programm schreiben, das mir aufgrund von Schlagwörtern, die ich im Internet suche, relevante Themen sofort anzeigt. Allgemeine Java-Themen 1
T Hilfe bei Programm. IDE: Eclipse mit EV3-Plugin, lejos Allgemeine Java-Themen 8
Lukas2904 Swing Anzeigen lassen das das Programm geschlossen wurde Allgemeine Java-Themen 3
TechnikTVcode Mail Programm Allgemeine Java-Themen 2
S Programm entwickeln, welches ein Dreieckspuzzle lösen kann Allgemeine Java-Themen 5
R Lesen von Interfaces (Programm Vervollständigen) Allgemeine Java-Themen 10
Dann07 Java-Programm findet DLLs nicht! Allgemeine Java-Themen 20
OSchriever Linux-Programm öffnen Allgemeine Java-Themen 6
P USER Management in SQL übergreifend auf JAVA Programm Allgemeine Java-Themen 41
L Eclipse Konsole im exportierten Programm Allgemeine Java-Themen 2
OSchriever Programm über Linux-Kommandozeile ausführen Allgemeine Java-Themen 20
D Verkauf von einem Programm welches ich in Java geschrieben habe Allgemeine Java-Themen 4
M Programm erkennt String aus .txt Datei nicht Allgemeine Java-Themen 3
P Erstelltes Programm ist doppelt so groß Allgemeine Java-Themen 11
N Programm nach Abschluss neustarten lassen Allgemeine Java-Themen 6
S Einfaches Programm programmieren Allgemeine Java-Themen 5
M kleines KI Programm Idee Allgemeine Java-Themen 7
D Boolean von ein anderem Java Programm während der Laufzeit ändern Allgemeine Java-Themen 23
L Excel Datei löscht sich selbst im Programm - Java Allgemeine Java-Themen 3
I File ausführen und mein Programm bearbeiten lassen Allgemeine Java-Themen 11
ralfb1105 Starten Java App(s) (.jar) aus einem Java Programm Allgemeine Java-Themen 18
temi Java Programm aus einer DB laden und starten Allgemeine Java-Themen 2
N Programm startet nicht, nur per cmd Allgemeine Java-Themen 5
J Programm zum Suchen eines Wortes im Dateisystem Allgemeine Java-Themen 4
E Java Programm mit Clients erweitern - Möglichkeiten? Allgemeine Java-Themen 2
Joker4632 Methoden Befehl an bereits extern geöffnete Programm-spezifische Konsole senden Allgemeine Java-Themen 1
M Dieses Programm schneller machen? Allgemeine Java-Themen 2
R Programm zur Rekursion Allgemeine Java-Themen 5
N Quicksort Programm hängt sich auf Allgemeine Java-Themen 6
S Compiler-Fehler Programm verhält sich in Eclipse anders Allgemeine Java-Themen 1
B Input/Output Programm zum Auslesen/Beschreiben von Textdateien, wie Geschwindigkeit erhöhen? Allgemeine Java-Themen 18
dereki2000 Programm veröffentlichen Allgemeine Java-Themen 14
mrbig2017 Threads Chat Programm mit Threads? Allgemeine Java-Themen 2
M Suche aktuelle Apache Poi Bibliothek zum Einbinden in mein Programm Allgemeine Java-Themen 2
J Java "Bank Programm" Brauche eure Hilfe Allgemeine Java-Themen 3
S Java Programm (Spiel mit den Boxen) Allgemeine Java-Themen 1
kodela Programm hängt in der Ereigniswarteschlange Allgemeine Java-Themen 13
A Java Programm verbessern/vereinfachen Allgemeine Java-Themen 20
P Programm darf nicht mehrfach startbar sein Allgemeine Java-Themen 16
S Programm hängt sich manchmal (selten) auf Allgemeine Java-Themen 9
JavaNewbie2.0 Programm nicht im Taskmanager schliesen können Allgemeine Java-Themen 15
J XML Datei mit installiertem Programm öffnen Allgemeine Java-Themen 7
Arif Input/Output Dateien im Jar-Programm speichern Allgemeine Java-Themen 12
H Java FX 2 Fragen um Programm in mehrere sprachen zu übersetzen in Gluon Framwork Allgemeine Java-Themen 3
JavaNewbie2.0 Programm bleibt "stehen" Allgemeine Java-Themen 2
JavaNewbie2.0 Start eines Anderen Programm erkennen Allgemeine Java-Themen 6
E Mit Java ein Python Programm starten Allgemeine Java-Themen 20
Q-bert Daten von Java Programm speichern Allgemeine Java-Themen 4
Aruetiise Methoden .jar mit Programm öffnen Allgemeine Java-Themen 2
C anderes Programm schließen! Allgemeine Java-Themen 5
C Webseiten Programm problem Allgemeine Java-Themen 5
E Programm auf Installation prüfen Allgemeine Java-Themen 1
J Programm zum Download von CSV-Dateien Allgemeine Java-Themen 4
E Programm ohne Windowsrand(Vollbild) ? Allgemeine Java-Themen 5
G Programm, das nach abgearbeiteter main Methode weiterläuft Allgemeine Java-Themen 72
P Schnittstelle java Programm zu Webserver / Browser Allgemeine Java-Themen 2
J Schutz Programm Jar Exe Allgemeine Java-Themen 7
R javax.comm --> Programm funktioniert nach Export nicht mehr Allgemeine Java-Themen 0
Blender3D Java Swing Programm Windows 10 Autostart Problem Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben