Zeichnen mit paintComponent? Oder anders?

BDG

Aktives Mitglied
Hey Leute, wie kann ich denn einfach Bilder in Java zeichnen?

Ich hab versucht, die Methode "paintComponent" zu überschreiben, aber die wird bei mir nur 1 oder 2 mal ausgeführt und immer random mal, wenn ich das Fenster bewege?!

Ich suche eine Methode die ca. 60 mal die Sekunde ausgeführt wird, mit der ich Texturen an einem Punkt zeichnen kann. Und das Spiel updaten? In C#+XNA gab es einfach "Draw(SpriteBatch s)" und "Update(GameTime g)" :/
Da war das so einfach. Aber wie mach ich das in Java?
 

kaoZ

Top Contributor
Spiele Programmierung -> vorwiegend aktiv zeichen.

do holst dir mit getGraphics() den Grafikkontext auf welchem du zeichnen willst und übergibst diesen dann deiner Methode

pseudo code
Java:
public void drawSomething(Graphics g){

 g.drawRect(x,y,width, height);
}

nun kannst du in deiner Draw methode für dein game (also in einem Gameloop) einfach ( hier z.B in einer von Jpanel abgeleiteten klasse)

Java:
private void draw(){
  Graphics g = getGraphics();


  myClass.drawSomething(g);

}

getGraphics() liefert dir hier den Grafikkontext des JPanels ( man könnte hier auch einen beliebiegen anderen Grafikkontext verwenden , z.B ein BufferedImage, auf welchem du dann, über dessen Graphics objekt zeichnen würdest.

nutzen.

Ich hab versucht, die Methode "paintComponent" zu überschreiben, aber die wird bei mir nur 1 oder 2 mal ausgeführt und immer random mal, wenn ich das Fenster bewege?!

Das liegt daran das du keinen einfluss darauf hast wann das Toolkit hier repaint(); ausführt, du könntest höchstens über einen manuellen aufruf von repaint(); darum bitten (ein flag setzen), es ist aber nicht sicher wann genau das toolkit deine anfrage/das repainten abarbeitet.

Hey Leute, wie kann ich denn einfach Bilder in Java zeichnen?

passiv über einen Graphics-kontext einer SWING Komponente :

Java:
BufferedImage image = ImageIO.read(getClass().getResourceAsStream("meinBild.png");

@Override
public void paintComponent(Graphics g){
  super.paintComponent(g);

  g.drawImage(image, 0,0, null);

}
 
Zuletzt bearbeitet:

BDG

Aktives Mitglied
Und die Methode draw() muss ich dann wo aufrufen? Und ist es notwendig jedes mal "g" neu zu definieren, weil ich dachte der Wert bleibt gleich?
 

kaoZ

Top Contributor
Und ist es notwendig jedes mal "g" neu zu definieren, weil ich dachte der Wert bleibt gleich?

- graphics kontext über getGraphics() holen
- zeichnen
- graphics kontext über g.dispose() freigeben

das ganze sollte dann ungefähr so aussehen :

Java:
public class Player{
  
   private Image image; 

public Player(){
    try{
        image = ImageIO.read(getClass().getResourceAsStream("hierBeliebiegenPfadeinfügen.toll"));
    }
    catch(IoException e){
        // hier exeption handling durchführen.
    }
}
 
public void draw(Graphics g){
   g.drawImage(image, x, y, null);  
}
}

diese Methode kannst du dann dazu verwenden um z.B einen Player zu zeichnen, das ganze passiert dann in deiner Game Klasse

Und die Methode draw() muss ich dann wo aufrufen?

in der klasse die das Runnable für deinen Gameloop definiert.
 
Zuletzt bearbeitet:

BDG

Aktives Mitglied
"die das Runnable für dein Gameloop definiert" - soll was bedeuten? In c# war das einfacher :p
Wenn ich in der Klasse "Runnable" implementiere, und die Funktion "run()" überschreibe, wann wird die ausgeführt?
Hab da mal "System.out.println("hi");" reingeschrieben, aber meine Konsole bleibt leer beim Debuggen :/
 

kaoZ

Top Contributor
Na gut......

also im groben angerissen sollte das ganze ungefähr so aussehen :

Java:
public class Game{
	

	public static void main(String[] args){
		JFrame f = new JFrame("Game");
		f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		f.setContentPane(new Game().new GamePanel());
		f.pack();
		f.setLocationRelativeTo(null);
		f.setVisible(true);
	}
	
	@SuppressWarnings("serial")
	class GamePanel extends JPanel implements Runnable, KeyListener{
		
		final static int WIDTH = 400;
		final static int HEIGHT = 400;
		
		BufferedImage screen;
		
		Thread loop;
		boolean running;
		
		public GamePanel(){
			setPreferredSize(new Dimension(WIDTH, HEIGHT)); 
			setFocusable(true);
			requestFocus();
		}
		
		private void init(){
			screen = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);
		
			running = true;
		}
		
		private void update(){}
		private void render(){}
		
		private void draw(){
			Graphics g = getGraphics();
			
			if(g != null){
				g.drawImage(screen, 0, 0, null);
			}
			else{
				System.exit(0);
			}
		}
		
		@Override
		public void addNotify(){
			super.addNotify();
			if(loop == null) {
				addKeyListener(this);
				loop = new Thread(this);
				loop.start();
			}
		}
		
		@Override
		public void run(){
			init();
			while(running){
				update();
				render();
				draw();
				try {
					Thread.sleep(100);
				}
				catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
		
		
		@Override
		public void keyPressed(KeyEvent e){}
	
		@Override
		public void keyReleased(KeyEvent e){}
		
		@Override
		public void keyTyped(KeyEvent e){}
	}
}

sicher könnte man hier noch wesentlich OO herangehen, aber im grossen und ganzen sollte es in solch eine Richtung gehen,

Alles was du nun zeichnen möchtest , kannst du in der render Methode machen , dafür holst du dir den Graphics kontext des images (screen)
und übergibst ihn einer beliebigen methode, hier wird dann unter anwendung von double buffering erst auf das image gemalt , und dann das ganze image auf den JPanel, sprich es wird gepuffert, da du nicht direkt auf den Panel malst, um z.B flackern beim neuzeichnen zu unterbinden.

nehmen wir an wir implementieren eine Klasse Player und wollen diesen dann zeichnen, dann sieht das ganze z.B rudimentär so aus

Java:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;



public class Game{
	

	public static void main(String[] args){
		JFrame f = new JFrame("Game");
		f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		f.setContentPane(new Game().new GamePanel());
		f.pack();
		f.setLocationRelativeTo(null);
		f.setVisible(true);
	}
	
	@SuppressWarnings("serial")
	class GamePanel extends JPanel implements Runnable, KeyListener{
		
		final static int WIDTH = 400;
		final static int HEIGHT = 400;
		
		BufferedImage screen;
		
		Thread loop;
		boolean running;
		
		Player player;
		
		public GamePanel(){
			setPreferredSize(new Dimension(WIDTH, HEIGHT)); 
			setFocusable(true);
			requestFocus();
		}
		
		private void init(){
			screen = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);
		
			player = new Player("Spieler 1");
			player.setPosition(50, 50);
			
			running = true;
		}
		
		private void update(){}
		
		private void render(){
			Graphics g = screen.getGraphics();
			
			player.draw(g);
		}
		
		private void draw(){
			Graphics g = getGraphics();
			
			if(g != null){
				g.drawImage(screen, 0, 0, null);
			}
			else{
				System.exit(0);
			}
		}
		
		@Override
		public void addNotify(){
			super.addNotify();
			if(loop == null) {
				addKeyListener(this);
				loop = new Thread(this);
				loop.start();
			}
		}
		
		@Override
		public void run(){
			init();
			while(running){
				update();
				render();
				draw();
				try {
					Thread.sleep(100);
				}
				catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
		
		
		@Override
		public void keyPressed(KeyEvent e){}
	
		@Override
		public void keyReleased(KeyEvent e){}
		
		@Override
		public void keyTyped(KeyEvent e){}
	}
	
	class Player{
		
		int x;
		int y;
		String name;
		
		public Player(String s){
			name = s;
		}
		
		public void draw(Graphics g){
			
			g.setColor(Color.RED);
			g.drawString(name, x, y - 15);
			g.fillRect(x, y, 20, 20);
		}
		
		public void setPosition(int x, int y){
			this.x = x;
			this.y = y;
		}
	}
}

 
Zuletzt bearbeitet:

BDG

Aktives Mitglied
Klassen innerhalb von Klassen? Wusste nichtmal, dass sowas geht :O
Naja, zu deinem Beispiel :
Klappt ja soweit mit dem zeichnen und sonst auch alles gut, aber wenn ich den Spieler bewege, dann wird er sozusagen nur neu erstellt an der Position wo man ihn hinbewegt hat. Also ich hab ihn dann ganz oft auf dem Bild, in einer Reihe.

Und nocheine Frage: Wann wird addNotify aufgerufen?
 

Joose

Top Contributor
Klassen innerhalb von Klassen? Wusste nichtmal, dass sowas geht :O

Geht ja in C# auch ;)

Klappt ja soweit mit dem zeichnen und sonst auch alles gut, aber wenn ich den Spieler bewege, dann wird er sozusagen nur neu erstellt an der Position wo man ihn hinbewegt hat. Also ich hab ihn dann ganz oft auf dem Bild, in einer Reihe.

Nein es wird nur ein neues Player Objekt erstellt wenn die "init" Methode aufgerufen wird. Diese wird im "run" der Klasse GamePanel nur 1x vor dem Start der GameLoop aufgerufen.
Entweder rufst du die "run"-Methode irgendwo selbst auf oder du startest sehr viele Threads die dann jeweils ein eigenes Player Objekt malen.
 

BDG

Aktives Mitglied
Is mir schon klar, dass er nicht neu erstellt wird, aber es sieht halt so aus, weil wenn ich ihn 10 Pixel nach rechts bewegen will ist er einmal an der Startposition zu sehen und gleichzeitig 10 pixel weiter rechts. Obwohl er nur an der aktuellen Position gezeichnet werden soll. Also das Bild müsste eigentlich gecleart werden vor jedem zeichnen...
In c# wurde halt nur das gezeichnet was man zeichnen wollte! :D ganz einfach! Wenn ich die Position verändere wird er auch nur an der neuen gezeichnet! wie mach ich das hier? :D
 

kaoZ

Top Contributor
Du zeichnest ein Rechteck, bevor du deine anderen Komponenten zeichnest, bin nicht am Rechner, erst morgen wieder, aber auch das wäre sehr rudimentär, Normalerweise zeichnest Du eine Map und einen Hintergrund ;) Aber um solche Dinge zu simulieren reicht ein einfaches Rechteck

BEVOR du alles andere zeichnest

g.setColor (Color.WHITE);
g.fillRect (0,0, WIDTH, HEIGHT);
 
Zuletzt bearbeitet:

SuperJavaMan

Mitglied
Hey könnte einer von euch mir auch helfen bei einem paintmethoden problem bitte :oops:

Ich mach ein paintprogramm in dem man mit einem jmenuitem aussuchen kann was mach zeichnen will(z.B. kreis, rechteck oder bild,..)
natürlich wird immer beim maxi-und minimieren gelöscht so wie ich es mache :/
also wie implementiere ich ein gescheite paintmethode mit repaint() und allem drum un dran
natürlich hab ich es schon selber probiert ;) funktioniert aber nicht
bitte helft mir
wen ihr mehr code aus dem programm braucht ihr nur sagen :)
jp ist das hauptpanel auf dem gezeichnet wird

hier die methode vom jmenuitem

Java:
 public void drawRect() {
        rect.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ae) {
                form = 1;
                repaint();
            }
        });
    }

mein versuch von einer paintmethode

Java:
    @Override
    public void paintComponent(Graphics g){
        g = jp.getGraphics();
        Random rand = new Random();
        if (form == 1) {
                    if (rainbowOk == 1) {
                        col = new Color(rand.nextInt(256), rand.nextInt(256), rand.nextInt(256));
                        g.setColor(col);
                    } else {
                        g.setColor(col);
                    }
                    g.fillRect(x, y, thick, thick);
                }
    }

und hier der mouselistener um die koordinaten zu bekommen für das programm

Java:
 @Override
            public void mouseDragged(MouseEvent e) {
                x = e.getX();
                y = e.getY();
                Random rand = new Random();
                String str1 = String.format("x:" + x + "y:" + y);
                System.out.println(str1);
                String str = "";
                xyAusgabe.setText(str1);
                repaint();
            }

danke :)
 

kaoZ

Top Contributor
Und nocheine Frage: Wann wird addNotify aufgerufen?

addNotifiy() wird beim konstruieren des JPanels aufgerufen , deshalb bietet es sich an das erzeugen des Threads und das hinzufügen von eventuellen Listenern an dieser Stelle an .

Hier nochmal die definition der klasse JComponent
public void addNotify()
Notifies this component that it now has a parent component. When this method is invoked, the chain of parent components is set up with KeyboardAction event listeners. This method is called by the toolkit internally and should not be called directly by programs.

ich habe mal Fett markiert warum sich diese stelle anbietet

Hey könnte einer von euch mir auch helfen bei einem paintmethoden problem bitte

ja.....

natürlich wird immer beim maxi-und minimieren gelöscht so wie ich es mache :/

hier wäre die implementierung eines eigenen windowlisteners angebracht, sowie das nutzen einer collection welche die von dir gezeichneten Formen speichert, incl. ort / farbe usw. usw.

dazu würde ich mir ebenfalls eine Klasse schreiben welche diese Informationen enthält. oder wenn die formen nicht komplex sind , nutze einfach shapes

beim minimieren / verschieben des fensters fängst du das event ab und zeichnest alle elemente aus der collection erneut.

EDIT : ohne mir deinen Code genauer angesehen zu haben , würde ich auch hier dazu übergehen aktiv zu zeichnen, und nicht passiv über paintComponent().


um nochmal zu dem leeren des screens zu kommen :

GamePane.java
Java:
private void clearScreen(Graphics g){
	g.fillRect(0, 0, WIDTH * SCALE, HEIGHT * SCALE);
}

und diese rufst du dann z.B hier auf :

Java:
private void render(){
	Graphics2D g = (Graphics2D)image.getGraphics();

	clearScreen(g);  // <<----
		
	for (Entry<Class<? extends WorldObject>, WorldObject> entry : worldObjects.entrySet()) {
		entry.getValue().draw(g);
	}
		
	g.dispose();
	}
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Transparent zeichnen mit drawImage in paintComponent Methode AWT, Swing, JavaFX & SWT 3
B 2D-Grafik paintcomponent Probleme beim zeichnen AWT, Swing, JavaFX & SWT 10
K Probleme beim zeichnen mit paintComponent() AWT, Swing, JavaFX & SWT 1
S passende PaintComponent ? Zeichnen in TextArea mit Scrollpane ? AWT, Swing, JavaFX & SWT 2
T Rechtecke zeichnen mit paintComponent() AWT, Swing, JavaFX & SWT 3
P Swing Vom BufferedImage bei paintComponent nur soviel zeichnen, wie nötig AWT, Swing, JavaFX & SWT 3
E 2D-Grafik Zeichnen außerhalb der "paintComponent"-Methode? AWT, Swing, JavaFX & SWT 5
M JPanel ausserhalb von paintComponent zeichnen AWT, Swing, JavaFX & SWT 6
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
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
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
JG12111989 mehrere Polyline-Objekte zeichnen AWT, Swing, JavaFX & SWT 3
A Swing JRadioButton zeichnen nicht AWT, Swing, JavaFX & SWT 4
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
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
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
D 2D-Grafik Inhalt eines Graphics in anderes Graphics zeichnen.... AWT, Swing, JavaFX & SWT 3
F Zeichnen des Button AWT, Swing, JavaFX & SWT 4
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
D Zeichnen eines Barplots AWT, Swing, JavaFX & SWT 2
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
P JPanel neu zeichnen AWT, Swing, JavaFX & SWT 10
M Auf einem Hintergrundbild zeichnen AWT, Swing, JavaFX & SWT 2
S Eigene JComponent Image zeichnen AWT, Swing, JavaFX & SWT 3
T Oval auf ein JPanel zeichnen AWT, Swing, JavaFX & SWT 3
L Zeichnen in zwei Fenstern AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen

Neue Themen


Oben