getGraphics() - NullPointerException

Quax

Mitglied
Hallo,
mich quält auch die NullPointerException Fehlermeldung. Den heute gebloggten Eintrag über Methodenaufrufe habe ich mir durchgelesen.Ich habe folgenden Code:
Java:
package xtra1000;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Ampel extends JFrame implements ActionListener{
	
		private Graphics Grafik;
		private JButton Knopf;
		
	public Ampel() {
		super("Ampel 1.0");
		JPanel Platte = new JPanel();
		Platte.setLayout(new FlowLayout());
		Box Oben = Box.createHorizontalBox();
		Knopf = new JButton("Start");
		Platte.add(Oben);
		Platte.add(Knopf);
//		showImage(50,0);
		Knopf.addActionListener(this);
		setContentPane(Platte);
	}
	
	public void actionPerformed(ActionEvent Ereignis) {
		showImage(100, 80);
	}
	
	public void showImage(int x, int y) {
		Grafik = getGraphics();
		Grafik.setColor(Color.red);
		Grafik.fillOval(x, y, 50, 50);
	}
	
	public static void main(String[] args) {
		Ampel Rahmen = new Ampel();
		Rahmen.setSize(250,200);
		Rahmen.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Rahmen.setVisible(true);
	}
}
Damit möchte ich schon beim Starten der GUI einen Punkt angezeigt bekommen. Beim betätigen des Buttons soll der rote Punkt seine Position ändern.
Der Code läuft wie abgebildet allerdings wird gleich beim Aufruf der GUI kein Punkt angezeigt. Wenn ich die auskommentierte Zeile:
Java:
//		showImage(50,30);
mit reinnehme kommt die Fehlermeldung:
Exception in thread "main" java.lang.NullPointerException
at xtra1000.Ampel.showImage(Ampel.java:30)
at xtra1000.Ampel.<init>(Ampel.java:19)
at xtra1000.Ampel.main(Ampel.java:35)


Wenn ich an der Stelle der auskommentierten Zeile eine Initialisierung vornehme:
Java:
        Ampel licht = new Ampel();
        licht.showImage(50,30);
kommt die Fehlermeldung:
Exception in thread "main" java.lang.StackOverflowError
at java.awt.Insets.<init>(Unknown Source)
at sun.awt.windows.WToolkit.getScreenInsets(Native Method)
at sun.awt.windows.WToolkit.getScreenInsets(Unknown Source)

Kann mir da bitte jemand weiterhelfen?
 
Zuletzt bearbeitet von einem Moderator:
A

AS3

Gast
Ja,
du solltest dir mal angucken,
wie man allgemein in Swing zeichnet.
Das 'Graphicsobject' wird erst erstellt,
wenn das Fenster sichtbar ist,
davor wird eben 'null' zurückgegeben.

lies mal das.

AS3,
wünscht viel Erfolg.
 

Quax

Mitglied
Ja vielen Dank erstmal, ich werd mir das mal anschauen und bei Bedarf nochmals melden. Aber soviel schonmal vorweg: Wenn ich die Zeichnung richtig erstelle, dann kann ich den Methodenaufruf schon so im Konstruktor stehen lassen?
Achja und was bedeutet eigentlich der Ausdruck @Override? Da bin ich in meiner Literatur noch nicht so fündig geworden?
Quax
 
Zuletzt bearbeitet:
S

SlaterB

Gast
"Wenn ich die Zeichnung richtig erstelle" ist eine ganz ausagelose Aussage hier,
was ist eine Zeichung? wie wird sie erstellt?

allgemein kann man sich aber wohl jedes 'wenn' sparen,
solange der Boden aus Sand besteht gibt es keinen richtigen Weg, das Haus aufzustellen
 
A

AS3

Gast
[...]Achja und was bedeutet eigentlich der Ausdruck @Override? Da bin ich in meiner Literatur noch nicht so fündig geworden?
[...]

Wenn eine classe von einer anderen erbt/ein inteface implementiert,
benutzt man die Override annotation, um das zu kennzeichnen (und noch viel mehr, ich habe jetzt aber keine schöne Definition von Annotationen, allgemein, kann man damit 'metadaten' hinzufügen).
(Um das Wort 'Annotation' brauchst du dich (erst mal) nicht kümmern.)
Wenn du Vererbung usw. noch nicht kannst, solltest du noch nicht mit grafischer Programmierung anfangen. (nicht böse gemeint, nur ein tipp.)

AS3
 

jgh

Top Contributor
ein prob bei deinem Code ist bspw. das -wenn das Fenster vergrößert/verkleinert wird- dein roter Punkt nicht mehr da ist, deswegen macht man solche Operationen in der paintComponent Methode...hier mal ein rudimentäres Bsp für die Bewegung des roten Kreises.

Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Ampel extends JFrame implements ActionListener {

	private JButton buttonLinks, buttonRechts;
	EinJPanel platte = new EinJPanel();

	public Ampel() {
		super("Ampel 1.0");
		platte.setLayout(new FlowLayout());
		Box Oben = Box.createHorizontalBox();
		buttonLinks = new JButton("links");
		platte.add(Oben);
		// showImage(50, 0);
		buttonLinks.addActionListener(this);
		buttonRechts = new JButton("rechts");
		platte.add(buttonLinks);
		platte.add(buttonRechts);
		buttonRechts.addActionListener(this);
		setContentPane(platte);
	}

	public void actionPerformed(ActionEvent evt) {
		if (evt.getSource() == buttonLinks) {
			platte.x = platte.x - 10;
		} else if (evt.getSource() == buttonRechts) {
			platte.x = platte.x + 10;
		}
		platte.repaint();
	}

	public static void main(String[] args) {
		Ampel Rahmen = new Ampel();
		Rahmen.setSize(250, 200);
		Rahmen.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Rahmen.setVisible(true);
	}
}

class EinJPanel extends JPanel {
	int x = 100;
	int y = 80;

	@Override
	protected void paintComponent(Graphics g) {
		super.paintComponent(g);
		g.setColor(Color.red);
		g.fillOval(x, y, 50, 50);
	}

}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J getGraphics() vermeiden AWT, Swing, JavaFX & SWT 15
P Swing Frage zu paintComponent/getGraphics AWT, Swing, JavaFX & SWT 4
hdi Swing Frage zu getGraphics() AWT, Swing, JavaFX & SWT 7
I getGraphics().setColor funktioniert nicht AWT, Swing, JavaFX & SWT 6
Kr0e Transparentes Image -> getGraphics AWT, Swing, JavaFX & SWT 8
C getGraphics() liefert nur null AWT, Swing, JavaFX & SWT 4
H wie, wenn nicht mit getGraphics ? AWT, Swing, JavaFX & SWT 10
H getGraphics() eines JPanel liefert immer null zurück AWT, Swing, JavaFX & SWT 6
B JPanel -> getGraphics() AWT, Swing, JavaFX & SWT 2
_user_q Objekte vom MainController in anderen Controller verwenden und andersherum (NullPointerException) AWT, Swing, JavaFX & SWT 14
Jose05 Nullpointerexception bei toArray() AWT, Swing, JavaFX & SWT 9
Jose05 NullPointerException bei Beschreiben eines Labels aus einem Array AWT, Swing, JavaFX & SWT 12
J Java FX NullPointerException, ObservableList wird in View nicht angezeigt.. AWT, Swing, JavaFX & SWT 34
N Nur bei einem Textfiled Nullpointerexception bei getText() AWT, Swing, JavaFX & SWT 1
R NullPointerException beim Start des Fensters AWT, Swing, JavaFX & SWT 1
D JavaFX Nullpointerexception wegen TableView AWT, Swing, JavaFX & SWT 2
ZH1896ZH JavaFX kann NullPointerException nicht auflösen... :( AWT, Swing, JavaFX & SWT 3
M NullPointerException / Controller AWT, Swing, JavaFX & SWT 4
R Swing Java9 NullPointerException bei JComboBox AWT, Swing, JavaFX & SWT 13
L java.lang.NullPointerException - Fehlermeldung AWT, Swing, JavaFX & SWT 2
M NullPointerException bei Übergabe eines RadioButtons AWT, Swing, JavaFX & SWT 11
zhermann NullPointerException bei Label.setText() AWT, Swing, JavaFX & SWT 5
it_is_all jLabel.setText -> Char in Str: NullpointerException AWT, Swing, JavaFX & SWT 1
D NullPointerException observableList AWT, Swing, JavaFX & SWT 4
J NullPointerException bei getText() AWT, Swing, JavaFX & SWT 3
S JavaFX NullPointerException bei Versuch ImageView zu ändern AWT, Swing, JavaFX & SWT 1
K JFileChooser NullPointerException AWT, Swing, JavaFX & SWT 7
T Swing NullPointerException beim auslesen von jTextField - Anfänger! AWT, Swing, JavaFX & SWT 3
S Swing [CLOSED] NullPointerException bei BorderLayout() AWT, Swing, JavaFX & SWT 8
G Swing NullPointerException und JXImageView AWT, Swing, JavaFX & SWT 4
L exception in thread awt-eventqueue-0 java.lang.nullpointerexception AWT, Swing, JavaFX & SWT 2
U Swing NullPointerException trotz Referenz auf Textfield & Button AWT, Swing, JavaFX & SWT 6
L NullpointerException und Probleme mit repaint() AWT, Swing, JavaFX & SWT 11
G JavaFX NullPointerException bei Zugriff auf FXML Element AWT, Swing, JavaFX & SWT 0
K JavaFX Pfad öffen NullPointerException AWT, Swing, JavaFX & SWT 4
H SWT NullPointerException bei Zugriff auf Variablen des Hauptfensters AWT, Swing, JavaFX & SWT 6
L Event Handling windowAdapter - NullPointerException beim Schließen AWT, Swing, JavaFX & SWT 5
J JTable verursacht NullPointerException.Ratlos. AWT, Swing, JavaFX & SWT 5
C JButton NullPointerException AWT, Swing, JavaFX & SWT 2
C NullPointerException im MVC Muster AWT, Swing, JavaFX & SWT 9
V Nullpointerexception (etwas mit thread und jframe) AWT, Swing, JavaFX & SWT 3
M JTable Drucken NullpointerException +JTable speichern AWT, Swing, JavaFX & SWT 6
T Swing Laden eines Icons auf JButton liefert NullPointerException AWT, Swing, JavaFX & SWT 8
M Exception in thread "Thread-3" java.lang.NullPointerException AWT, Swing, JavaFX & SWT 18
C Swing NullPointerException beim Hinzufügen von Checkboxes in eine ArrayList AWT, Swing, JavaFX & SWT 5
1 JComponent -> java.lang.NullPointerException AWT, Swing, JavaFX & SWT 13
B Swing NullPointerException bei actionPerformed() AWT, Swing, JavaFX & SWT 2
E java.lang.NullPointerException AWT, Swing, JavaFX & SWT 14
R NullPointerException AWT, Swing, JavaFX & SWT 16
xehpuk Swing NullPointerException: Random-Instanz anfangs nicht initialisiert AWT, Swing, JavaFX & SWT 4
3 Swing NullPointerException in AW Event-0? AWT, Swing, JavaFX & SWT 5
C SWT NullPointerException AWT, Swing, JavaFX & SWT 12
J NullPointerException bei Benutzung vom TableCellRenderer AWT, Swing, JavaFX & SWT 3
A AWT Methodenaufruf "AWT-EventQueue-0" java.lang.NullPointerException AWT, Swing, JavaFX & SWT 4
X NullPointerException beim Einfügen einer JMenuBar AWT, Swing, JavaFX & SWT 4
B NullPointerException bei JFrame AWT, Swing, JavaFX & SWT 2
D JPanel / NullPointerException AWT, Swing, JavaFX & SWT 4
G LookAndFeel Dynamisches Einlesen von LookAndFeels - NullPointerException AWT, Swing, JavaFX & SWT 4
E Login wird durch NullPointerException abgebrochen AWT, Swing, JavaFX & SWT 10
K NullPointerException ohne CodeLink AWT, Swing, JavaFX & SWT 6
L NullPointerException JFreeChart AWT, Swing, JavaFX & SWT 10
F NullPointerException - HILFE!! AWT, Swing, JavaFX & SWT 20
martinyyyy AWT Parameter erzeugen NullpointerException obwohl sie vorhanden sind? AWT, Swing, JavaFX & SWT 4
H Swing NullPointerException in JTable bei vielen Einträgen AWT, Swing, JavaFX & SWT 2
S Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException AWT, Swing, JavaFX & SWT 7
S NullPointerException bei JFileChooser AWT, Swing, JavaFX & SWT 8
X JList Probleme mit NullPointerException AWT, Swing, JavaFX & SWT 3
S NullPointerException bei Aufruf von updateUI() beim JFrame AWT, Swing, JavaFX & SWT 12
Z NullPointerException bei SplashScreen AWT, Swing, JavaFX & SWT 5
C NullPointerException bei Doppelpufferung AWT, Swing, JavaFX & SWT 3
F CardLayout.show() -> NullPointerException AWT, Swing, JavaFX & SWT 4
B NullPointerException bei String vergleich AWT, Swing, JavaFX & SWT 5
K NullPointerException bei JTextField AWT, Swing, JavaFX & SWT 8
L Problem mit "NullPointerException" bei grafischer AWT, Swing, JavaFX & SWT 3
D bei Thread in JComponent malen NullPointerException AWT, Swing, JavaFX & SWT 3
loadbrain JTextFields & java.lang.NullPointerException AWT, Swing, JavaFX & SWT 2
F JProgressBar und NullPointerException AWT, Swing, JavaFX & SWT 4
D javax.swing.Timer bringt NullPointerException AWT, Swing, JavaFX & SWT 4
R TextField bringt NullPointerException bei setVisible() AWT, Swing, JavaFX & SWT 12
A NullPointerException in einer JList AWT, Swing, JavaFX & SWT 7
F Fehler: java.lang.NullPointerException AWT, Swing, JavaFX & SWT 2
S Brauche Hilfe mit JFrame - NullPointerException AWT, Swing, JavaFX & SWT 7
A NullPointerException - warum? AWT, Swing, JavaFX & SWT 5
G NullPointerException bei Aufruf von JTabbedPane.getSelectedI AWT, Swing, JavaFX & SWT 7
G Problem mit NullPointerException AWT, Swing, JavaFX & SWT 11
M JTable verursacht NullPointerException AWT, Swing, JavaFX & SWT 8
M NullPointerException AWT, Swing, JavaFX & SWT 3
J NullPointerException bei getSelectedItem AWT, Swing, JavaFX & SWT 10
G Bekomme immer: NullPointerException AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen


Oben