Zeichnen eines Rechtecks

Z

zeichnen

Gast
Hi
ich habe ein problem bei meinem neusten projekt und zwar. Ich kann in mein graphics2D objekt nicht zeichnen ich bekomme zwar keine fehler meldungen trotzdem erscheint das rechteck nicht auf dem bildschirm.
Java:
import java.awt.*;
import java.awt.event.*;
import java.awt.event.KeyEvent;
import javax.swing.*;
import java.awt.event.KeyListener;

public class arcuz extends Frame //implements Runnable
{
  Graphics2D g2d;
  int posx=250, posy=50;
  //ich i=new ich(posx, posy, 1000, 50);
  
  public static void main(String[] args)
  {
    new arcuz();
  }
  
  public arcuz()
  {
    window win = new window();
    addKeyListener(new key());
  }
  
  
  class window extends Frame
  {
    public window()
    {
      addWindowListener(new WindowAdapter()
      {
        public void windowClosing(WindowEvent evt)
          {
            dispose();
          }
      } );
      setSize(500, 500);
      setVisible(true);
      setResizable(false);
    }


  }
  
  public void paint(Graphics g)
  {
    g2d = (Graphics2D) g;

    g2d.drawRect(posx, posy, 10, 10);
  }
  
  
  public class key implements KeyListener
  {
    public void keyReleased(KeyEvent e)
    {
      ;
    }
    public void keyPressed(KeyEvent e)
    {
      switch(e.getKeyCode())
      {
        case 119:
          posy+=-1;
          repaint();
          break;
          
        case 115:
          posy+=1;
          repaint();
          
        case 100:
          posx+=1;
          repaint();
          
        case 97:
          posx+=-1;
          repaint();
      }
    }
    
    public void keyTyped(KeyEvent e)
    {
      ;
    }
  }
}
 
Zuletzt bearbeitet von einem Moderator:

0x7F800000

Top Contributor
1) Klassen werden in CamelCase (mit großbuchstaben anfangend) benannt
2) Schlag dich nicht mit AWT-Altlasten herum, nimm wenigstens Swing
3) Was soll das neuzeichnen auslösen? Ruf mal bei keyPressed repaint() auf.
4) Was zum teufel ist "arcuz" und was ist "window"? Du überschreibest die paint-Methode des "arcuz", öffnest aber ein "window", welches keinen schimmer von irgendwelchen Rechtecken haben kann. Zumindest window oder arcuz muss weg.
5) Eigentlich muss beides weg. Leite nicht vom Fenster, sondern von einem JComponent ab, überschreib dort die paint-Methode, und füge dieses modifizierte JComponent dann in ganz normales JFrame rein.
 
Zuletzt bearbeitet:

jgh

Top Contributor
wenn du nur schnell erfolg haben willst...(Rechteck zeichnen):

entferne[java=42]}[/code]
und füge in [java=50]}[/code] wieder ein
 

r.w.

Bekanntes Mitglied
arcuz ist ein Frame der niemals angezeigt wird (keine Ahnung warum da "Frame" erweitert wird)
und window einer der zwar angezeigt wird, bei dem aber die paint-Methode nicht überschrieben wurde.

Um das Rechteck zu sehen hilft zum ersten der Tipp von jgh.

Um dann auch noch auf den KeyListener reagieren zu können,
muss der an "window" und nicht an "arcuz" gehängt werden.

Ich hoffe, das hilft schon mal weiter.

VG ROlf
 
Z

zeichnen

Gast
arcuz ist ein Frame der niemals angezeigt wird (keine Ahnung warum da "Frame" erweitert wird)
und window einer der zwar angezeigt wird, bei dem aber die paint-Methode nicht überschrieben wurde.

Um das Rechteck zu sehen hilft zum ersten der Tipp von jgh.

Um dann auch noch auf den KeyListener reagieren zu können,
muss der an "window" und nicht an "arcuz" gehängt werden.

Ich hoffe, das hilft schon mal weiter.

VG ROlf
So hab das jetzt gemacht es wird nun zwar das rechteck angezeigt der keylistener funktionirt aber immer noch nicht.Hier der neue code:
Java:
import java.awt.*;
import java.awt.event.*;
import java.awt.event.KeyEvent;
import javax.swing.*;
import java.awt.event.KeyListener;

public class arcuz //extends Frame //implements Runnable
{
  Graphics2D g2d;
  int posx=250, posy=50;
  Graphics g1;
  //ich i=new ich(posx, posy, 1000, 50);
  
  public static void main(String[] args)
  {
    new arcuz();
  }
  
  public arcuz()
  {
    window win = new window();
    //addKeyListener(new key());
  }
  
  
  class window extends Frame
  {
    public window()
    {
      addWindowListener(new WindowAdapter()
      {
        public void windowClosing(WindowEvent evt)
          {
            dispose();
          }
      } );
      setSize(500, 500);
      setVisible(true);
      setResizable(false);
      //addKeyListener(new key());
    }
  
    public void paint(Graphics g)
    {
      g2d = (Graphics2D) g;

      g2d.drawRect(posx, posy, 10, 10);
    }
  
  /*public void draw()
  {
    g2d.drawRect(posx, posy, 100, 200);
  }*/
  
  
    public class key implements KeyListener
    {
      public void keyReleased(KeyEvent e)
      {
        ;
      }
      public void keyPressed(KeyEvent e)
      {
        switch(e.getKeyCode())
        {
          case 119:
            posy+=-1;
            System.out.println("W");
            repaint();
            break;

          case 115:
            posy+=1;
            repaint();

          case 100:
            posx+=1;
            repaint();

          case 97:
            posx+=-1;
            repaint();
        }
        repaint();
      }

      public void keyTyped(KeyEvent e)
      {
        ;
      }
    }
  }
}
 

jgh

Top Contributor
versuch mal -gerade zum Anfang- mit Klassen sparsam umzugehen...hier mal der Versuch DEINEN Code irgendwie zum laufen zu bekommen:

Die Key-Tasten sind die Pfeile rechts, links, oben und unten.

Java:
import java.awt.*;
import java.awt.event.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class arcuz // implements Runnable
{
	Graphics2D g2d;
	int posx = 250, posy = 50;

	public static void main(String[] args) {
		new arcuz();
	}

	public arcuz() {
		window win = new window();
	}

	class window extends Frame {
		public window() {
			addWindowListener(new WindowAdapter() {
				public void windowClosing(WindowEvent evt) {
					dispose();
				}
			});
			setSize(500, 500);
			setVisible(true);
			setResizable(false);
			addKeyListener(new key(this));
		}

		public void paint(Graphics g) {

			g2d = (Graphics2D) g;
			g2d.drawRect(posx, posy, 100, 100);
		}
	}

	public class key implements KeyListener {
		int i = posx;
		Frame win;

		public key(Frame win) {
			this.win = win;
		}

		public void keyReleased(KeyEvent e) {
			;
		}

		public void keyPressed(KeyEvent e) {
			switch (e.getKeyCode()) {
			case 37:
				posx--;
				break;
			case 39:
				posx++;
				break;

			case 38:
				posy--;
				break;

			case 40:
				posy++;
				break;

			}
			win.repaint();
		}

		public void keyTyped(KeyEvent e) {
			;
		}
	}
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Swing Vertikales Zeichnen eines Strings mit Java2D AWT, Swing, JavaFX & SWT 1
7 JavaFX Problem beim Zeichnen eines Dreiecks in einem GUI AWT, Swing, JavaFX & SWT 6
D 2D-Grafik Inhalt eines Graphics in anderes Graphics zeichnen.... AWT, Swing, JavaFX & SWT 3
D Zeichnen eines Barplots AWT, Swing, JavaFX & SWT 2
K Punkte eines Funktionsplotters zeitlich versetzt zeichnen AWT, Swing, JavaFX & SWT 18
S auf einem mit Netbeans (GUI) erstellten JPanel (eines JFrames) zeichnen? AWT, Swing, JavaFX & SWT 7
R Probleme beim Zeichnen eines Koordinatensystems AWT, Swing, JavaFX & SWT 10
D Zeichnen eines Polygons AWT, Swing, JavaFX & SWT 2
R JPanel - zeichnen eines Arrays AWT, Swing, JavaFX & SWT 18
W Instanz eines Steuerelementes an zwei Stellen zeichnen AWT, Swing, JavaFX & SWT 3
G Auf Graphic-Context eines bestimmten JPanels zeichnen AWT, Swing, JavaFX & SWT 3
F Zeichnen eines Baums: Unklarheiten bezüglich MVC AWT, Swing, JavaFX & SWT 5
M Mandelbrot mit BigDecimal erstellen und in der UI zeichnen, funktionierte nicht. AWT, Swing, JavaFX & SWT 1
H JavaFX Canvas neu zeichnen anstoßen AWT, Swing, JavaFX & SWT 34
H Transparent zeichnen mit drawImage in paintComponent Methode AWT, Swing, JavaFX & SWT 3
N JavaFX Unicode zeichnen in javafx Label verwenden AWT, Swing, JavaFX & SWT 2
G 2D-Grafik Grafik in zwei verschiedenen Fenstern gleichzeitig zeichnen AWT, Swing, JavaFX & SWT 9
S Event Handling Neu zeichnen nur wenn Berechnung fertig ist AWT, Swing, JavaFX & SWT 4
W JavaFX Ich kann keinen Kreis richtig zeichnen AWT, Swing, JavaFX & SWT 8
CptK Funktionsgraphen effizient zeichnen und nur Teile von JPanel erneuern AWT, Swing, JavaFX & SWT 2
G Dreieck aus Pixeln zeichnen AWT, Swing, JavaFX & SWT 8
N Mit KeyListener ein rechteck zeichnen AWT, Swing, JavaFX & SWT 9
B 2D-Grafik paintcomponent Probleme beim zeichnen AWT, Swing, JavaFX & SWT 10
Z Swing Graph zeichnen lassen AWT, Swing, JavaFX & SWT 16
O Kann kei neues Panel zum zeichnen aufrufen... AWT, Swing, JavaFX & SWT 4
L Swing zeichnen AWT, Swing, JavaFX & SWT 14
S GUI Kreuz zeichnen und Position ausgeben AWT, Swing, JavaFX & SWT 3
S GUI Kreis zeichnen AWT, Swing, JavaFX & SWT 13
S Swing Rechteck über JTable zeichnen (per MouseListener) AWT, Swing, JavaFX & SWT 1
L Swing Ein Rechteck in ein Grid Zeichnen AWT, Swing, JavaFX & SWT 5
L JavaFX Animation, erst zeichnen dann anzeigen AWT, Swing, JavaFX & SWT 4
K Mehrere Linien zeichnen AWT, Swing, JavaFX & SWT 8
E Transparent zeichnen AWT, Swing, JavaFX & SWT 2
S AWT Probleme beim Zeichnen AWT, Swing, JavaFX & SWT 3
T Tic Tac Toe - GUI Linien zeichnen AWT, Swing, JavaFX & SWT 14
C Applet Zeichnen über Button-Click AWT, Swing, JavaFX & SWT 13
Soloeco Graph zeichnen AWT, Swing, JavaFX & SWT 1
G Zeichnen Programm AWT, Swing, JavaFX & SWT 1
I Graph mit Swing zeichnen AWT, Swing, JavaFX & SWT 8
H Swing + Paint: Mehrere Objekte zeichnen lassen AWT, Swing, JavaFX & SWT 3
W Swing JPanel nur einmal nach mehreren Änderungen neu zeichnen AWT, Swing, JavaFX & SWT 1
D Quadrat, Rechteck zeichnen AWT, Swing, JavaFX & SWT 3
K Probleme beim zeichnen mit paintComponent() AWT, Swing, JavaFX & SWT 1
JG12111989 mehrere Polyline-Objekte zeichnen AWT, Swing, JavaFX & SWT 3
A Swing JRadioButton zeichnen nicht AWT, Swing, JavaFX & SWT 4
P 2D-Grafik Bogen(Arc) zwischen zwei Punkten zeichnen AWT, Swing, JavaFX & SWT 2
F Java Swing Rechteck in JPanel zeichnen AWT, Swing, JavaFX & SWT 7
KilledByCheese Swing 2D JLabel Array Maze zeichnen AWT, Swing, JavaFX & SWT 2
S Parallele Linien zeichnen AWT, Swing, JavaFX & SWT 5
J Linien auf JPanel zeichnen AWT, Swing, JavaFX & SWT 3
P AWT Canvas freihändig zeichnen AWT, Swing, JavaFX & SWT 1
llabusch Linien in JPanel zeichnen AWT, Swing, JavaFX & SWT 6
S passende PaintComponent ? Zeichnen in TextArea mit Scrollpane ? AWT, Swing, JavaFX & SWT 2
I Applet BlueJ Applet - Bild mit if-Schleife zeichnen lassen AWT, Swing, JavaFX & SWT 16
L JavaFX JavafX Timelime zeichnen und schön stylen? AWT, Swing, JavaFX & SWT 2
I JFrame neu zeichnen, nicht überzeichnen! AWT, Swing, JavaFX & SWT 2
I Spielsteine zeichnen und entfernen AWT, Swing, JavaFX & SWT 3
H JavaFX Freezes beim Zeichnen mit Canvas AWT, Swing, JavaFX & SWT 3
H Swing BufferedImage zeichnen AWT, Swing, JavaFX & SWT 1
M JFreeChart neu zeichnen sich Wenn Jtable sich ändert AWT, Swing, JavaFX & SWT 5
S 2D-Grafik MouseDragged Linien zeichnen AWT, Swing, JavaFX & SWT 4
M Zeichnen ohne vorherige Linien zu löschen AWT, Swing, JavaFX & SWT 2
T Problem beim Zeichnen von Rechteck AWT, Swing, JavaFX & SWT 3
T Swing / Kreis zeichnen AWT, Swing, JavaFX & SWT 2
I Text zur Linie zeichnen AWT, Swing, JavaFX & SWT 1
I Pfeil zeichnen am Ende einer Linie AWT, Swing, JavaFX & SWT 1
F Zeichnen des Button AWT, Swing, JavaFX & SWT 4
B Zeichnen mit paintComponent? Oder anders? AWT, Swing, JavaFX & SWT 15
C Swing Aus verschiedenen Klassen zeichnen. AWT, Swing, JavaFX & SWT 2
C Swing BufferedImage zeichnen und JLabels setzen. AWT, Swing, JavaFX & SWT 17
M Kein Zeichnen der Figuren auf JPanel AWT, Swing, JavaFX & SWT 4
J JButton neu zeichnen lassen AWT, Swing, JavaFX & SWT 9
S Quadrat auf Frame zeichnen AWT, Swing, JavaFX & SWT 2
P Image oder Icon auf Tooltip zeichnen AWT, Swing, JavaFX & SWT 4
C Graphics Objekt in Zeitschleife zeichnen AWT, Swing, JavaFX & SWT 4
X Swing JPanel mehrere Ebenen zeichnen AWT, Swing, JavaFX & SWT 13
G Zeichnen auf eine schwergewichtige Komponente? AWT, Swing, JavaFX & SWT 0
G Mehrere Strings um Kreis zeichnen und positionieren AWT, Swing, JavaFX & SWT 0
P SWT Nebula Gallery - Bildbereiche zeichnen AWT, Swing, JavaFX & SWT 3
A Swing Paint mit Button Clear den Hintergrund säubern um wieder zeichnen zu können AWT, Swing, JavaFX & SWT 2
A 2D-Grafik Zeichnen einer sich bewegenden Box mit BufferStrategy zieht Spur AWT, Swing, JavaFX & SWT 2
T AWT Bild laden und transparent zeichnen AWT, Swing, JavaFX & SWT 2
Helgon Swing Mit Swing zeichnen / NetBeans GUI AWT, Swing, JavaFX & SWT 11
M JLabel über JButtons zeichnen AWT, Swing, JavaFX & SWT 4
J JApplet und Zeichnen AWT, Swing, JavaFX & SWT 8
P 2D-Grafik NPE beim Zeichnen auf Graphics g AWT, Swing, JavaFX & SWT 8
4 Swing Graphen selber zeichnen AWT, Swing, JavaFX & SWT 2
T Über mehrere Panel zeichnen AWT, Swing, JavaFX & SWT 2
T Zeichnen von getSubimage funktioniert nicht AWT, Swing, JavaFX & SWT 7
M Bilder zeichnen, NullPointer Exception AWT, Swing, JavaFX & SWT 3
N JPanel neu zeichnen AWT, Swing, JavaFX & SWT 10
bluerob Problem beim Image zeichnen via andere Klasse AWT, Swing, JavaFX & SWT 7
M Swing JFrame in einem Panel zeichnen AWT, Swing, JavaFX & SWT 3
M Suche Javabibliothek zum Zeichnen mathematischer Funktionen AWT, Swing, JavaFX & SWT 11
M Swing Warum öffnen sich beim Zeichnen mit Swing plötzlich zwei Fenster? AWT, Swing, JavaFX & SWT 5
P ScrollPane nach zeichnen dynamisch resize AWT, Swing, JavaFX & SWT 7
M Swing In GUI-Builder-JFrame mit Menü Schreiben und Zeichnen AWT, Swing, JavaFX & SWT 4
N 2D-Grafik 2 Probleme beim zeichnen AWT, Swing, JavaFX & SWT 18
S Swing Bild auf jPanel nach Änderung von JComboBox zeichnen AWT, Swing, JavaFX & SWT 4
C Funktionen zeichnen AWT, Swing, JavaFX & SWT 16

Ähnliche Java Themen

Neue Themen


Oben