Zeichnen in einem JPanel

Status
Nicht offen für weitere Antworten.

SammY

Bekanntes Mitglied
Hi Leute,

hab ein kleines Problem.

Ich will auf ein JPanel Linien zeichnen. Das Objekt das ich zeichnen will ist aber breiter als das JFrame.
Ist es möglich das panel in ein JScrollPane einzubinden um die Zeichnung dann verschieben zu können?
Hoffe das ich mich verständlich ausgedrückt habe.


lg SammY
 

SammY

Bekanntes Mitglied
Kannst du mir mal ein Beispiel geben wie ich gezielt auf ein bestimmtes Panel eine Linie zeichne?
 

Marcel_Handball

Bekanntes Mitglied
Ich habe noch ein Beispiel bei mir gefunden, das ich mal Spaßeshalber geschrieben habe,
kannst dir ja das unwichtige löschen:

Code:
import java.awt.*;
import javax.swing.*;

public class Test{
	static JFrame f;
	static ZeichneGraph z;
	
	public static void main(String args[]){
		f = new JFrame("");
		f.setLayout(new BorderLayout());
		f.setSize(700,500);
	    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	    
	    z = new ZeichneGraph();
	    f.add(z,BorderLayout.CENTER);
	    f.add(new JButton("hh"),BorderLayout.PAGE_END);
	    f.setVisible(true);
	    
	    Thread t = new Thread(new MyThread());
	    t.start();
	}
	
}

class MyThread implements Runnable{
	boolean stop = false;
	
	public void run(){
		while(true){
			if(ZeichneGraph.x <400){
				Test.z.repaint();
				ZeichneGraph.x++;
				try{Thread.sleep(20);}
				catch(InterruptedException e){}
			}
		}
	}	
}

class ZeichneGraph extends JPanel {
	static int x=10;
   
   public void paintComponent(Graphics g) {
       g.setColor(Color.blue);
       g.clearRect(0,0, 700, 500);
	   g.drawLine(10,x,650,x);
   }
}
 

Marco13

Top Contributor
Code:
public class Test{
	static JFrame f;
	static ZeichneGraph z;
Nicht gerade vorbildlich :autsch:
 

SammY

Bekanntes Mitglied
Ich habe das Problem das bei deinem Beispiel direkt auf ein Frame gezeichnet wird.
Wie kann ich auf ein bestimmtes Panel zeichnen?
 

SammY

Bekanntes Mitglied
Sorry hab gerade mist geschrieben.

Hab das Panel in dem gezeichnet wird mal in ein JScrollpane eingebettet aber ich noch immer nicht scrollen.
Hier mal der Quelltext.

Code:
import java.awt.*;
import javax.swing.*;

public class Test{
   static JFrame frame;
   static ZeichneGraph z;
   
   public static void main(String args[]){
	   frame = new JFrame("");
	   frame.setLayout(new BorderLayout());
	   frame.setSize(700,500);
	   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      
       z = new ZeichneGraph();
       //frame.add(z,BorderLayout.CENTER);
       JScrollPane scrollpane = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
       //JScrollPane scrollpane = new JScrollPane();
       scrollpane.setViewportView( z );
       frame.add(scrollpane);
       frame.setVisible(true);
   }
}

class ZeichneGraph extends JPanel {
   static int x=10;
   
   public ZeichneGraph(){
	   this.setSize(1000, 500);
   }
   
   public void paintComponent(Graphics g) {
       g.setColor(Color.blue);
       g.clearRect(0,0, 700, 500);
      g.drawLine(10,x,800,x);
   }
}
 

Marco13

Top Contributor
Code:
   public ZeichneGraph(){
      this.setPreferredSize(new Dimension(1000, 500));
   }
Und lass' das static-Zeuch weg....
 

SammY

Bekanntes Mitglied
Hallo,

danke erstmal für eure hilfe. Soweit funktioniert jetzt auch alles bis auf folgendes:
Seht euch am besten mal das Bild an.

draw.jpg


Minimiere ich das Frame und öffne es wieder schaut alles ganz normal aus.

draw_ok.jpg


Wo liegt bei mir der fehler das beim Scrollen eine linie gezeichnet wird wo eigentlich keine sein soll???


Gruß Manuel
 

SammY

Bekanntes Mitglied
Hier noch das Programm dazu.

Code:
package zeichnen;

import java.awt.*;
import javax.swing.*;

public class Test{
   public static void main(String args[]){
   	JFrame frame;
	ZeichneGraph z;
	   
	frame = new JFrame("Draw Line");
	frame.setLayout(new BorderLayout());
	frame.setSize(700,500);
	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      
        z = new ZeichneGraph();
        JScrollPane scrollpane = new JScrollPane();
        scrollpane.setViewportView( z );
        frame.add(scrollpane);
        frame.setVisible(true);
   }
}
class ZeichneGraph extends JPanel {
   private int x=10;
	   
   public ZeichneGraph(){
	this.setPreferredSize(new Dimension(1000, 500));
   }
	   
   public void paintComponent(Graphics g) {
       g.setColor(Color.blue);
       g.clearRect(0,0, 900, 500);
       g.drawLine(10,x,800,x);
       g.drawLine(10, 50, 890, 50);
   }
}
 

SammY

Bekanntes Mitglied
Kann mir denn wirklich keiner weiterhelfen.
Wäre sehr dringend. Muss unbedingt die verschwommenen Linien rausbringen(siehe Bild 1).
 
T

tuxedo

Gast
Wie? Du hasts in 4 Tagen nicht geschafft rauszufinden dass die zu zeichnende Linie "zerrissen" wird wenn du ein Panel mit der Größe 1000x500 nur zu 900x500 löschen tust bevor du neu zeichnest?

Wie wär's mit dem "kompletten" leeren des Panels und nicht nur zu 90% in der Breite... ?


- Alex
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S auf einem mit Netbeans (GUI) erstellten JPanel (eines JFrames) zeichnen? AWT, Swing, JavaFX & SWT 7
W Zeichnen verschiedener geom. Figuren in einem JPanel AWT, Swing, JavaFX & SWT 5
S Problem mit dem Zeichnen einer Linie auf einem JPanel AWT, Swing, JavaFX & SWT 30
H Punkte auf einem JPanel zeichnen AWT, Swing, JavaFX & SWT 4
7 JavaFX Problem beim Zeichnen eines Dreiecks in einem GUI AWT, Swing, JavaFX & SWT 6
M Swing JFrame in einem Panel zeichnen AWT, Swing, JavaFX & SWT 3
M Auf einem Hintergrundbild zeichnen AWT, Swing, JavaFX & SWT 2
W Zeichnen in einem JFrame nach Resize AWT, Swing, JavaFX & SWT 7
P In einem Java-Fenster zeichnen AWT, Swing, JavaFX & SWT 10
A SWT Auf einem Tabb (FormPage) einzelnes Composite neu zeichnen AWT, Swing, JavaFX & SWT 7
P Diagramm in einem Applet zeichnen AWT, Swing, JavaFX & SWT 4
L Auf einem Panel Zeichnen AWT, Swing, JavaFX & SWT 6
G Polygonzug in einem Frame zeichnen. Ich raffs nicht AWT, Swing, JavaFX & SWT 4
S in einem JComponent zu zeichnen AWT, Swing, JavaFX & SWT 4
P auf einem geladenen Bild zeichnen AWT, Swing, JavaFX & SWT 28
S Auf einem JTabbedPane eine Grafik zeichnen AWT, Swing, JavaFX & SWT 11
T Image auf Panel in einem Internal Frame zeichnen AWT, Swing, JavaFX & SWT 5
M In einem JLabel Kreise zeichnen AWT, Swing, JavaFX & SWT 4
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
J Swing Vertikales Zeichnen eines Strings mit Java2D AWT, Swing, JavaFX & SWT 1
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
D 2D-Grafik Inhalt eines Graphics in anderes Graphics zeichnen.... AWT, Swing, JavaFX & SWT 3
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
D Zeichnen eines Barplots AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen


Oben