Linien zeichnen und wieder löschen

Status
Nicht offen für weitere Antworten.

TZP

Mitglied
Moinz.
Ich bastel mir gerade ein Programm zurecht, was mich Linien zeichnen lässt und mit einem Button sollen alle wieder verschwinden. Zeichnen funzt soweit aber ich krieg das mit dem Lösch-button in Zeile 99 nich hin, weil ich nicht weiß, wie ich es richtig implementieren muss.

Code:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Linienzug {
	public static void main(String[] args){
	
		JFrame meinFrame = new JFrame("Zeichenpanel");
		Container meinConti = meinFrame.getContentPane();
		meinConti.setLayout(new BorderLayout());
		meinConti.add(new Zeichenpanel(), BorderLayout.CENTER);
		meinFrame.setSize(900, 450);
		meinFrame.setVisible(true);
		meinFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
	}
}

class Zeichenpanel extends JPanel {
	
	private JPanel zeichnung;
	private JPanel zeichenButtons;
	
	public Zeichenpanel(){
		
	//	zeichnung = new JPanel();
	//	zeichenButtons = new JPanel();
		
	//	zeichnung.add(new LinieZeichnen());
		
		setLayout(new BorderLayout());
		add(new LinienZeichnen(), BorderLayout.CENTER);//, BorderLayout.NORTH);
		add(new deleteButton(),BorderLayout.WEST);
	//	add(zeichenButtons, BorderLayout.CENTER);
		
	}
}

class LinienZeichnen extends JPanel{
	
	public int[] punkteArray;
	public int zaehler;
	public int index;
	
	public LinienZeichnen(){
		zaehler = 0;
		index = 0;
		punkteArray = new int [200];
		setBackground(Color.WHITE);
		addMouseListener(new meinMML());
		add(new deleteButton());
	}
		class meinMML extends MouseAdapter {
		    
		    public void mouseClicked(MouseEvent erg) {
		    	
		    	punkteArray[index]=erg.getX();
		    	punkteArray[index+1]=erg.getY();
		    	zaehler++;
		    	index+=2;
		    	repaint();
		    }
		}
	
	public void paintComponent(Graphics g){
		super.paintComponent(g);
		
		if( zaehler != 0 && zaehler %2 == 0){
			for(int allePunkte = 0; allePunkte< punkteArray.length; allePunkte+=4){
				g.setColor(Color.RED);
				g.drawLine(punkteArray[allePunkte], punkteArray[allePunkte+1], punkteArray[allePunkte+2], punkteArray[allePunkte+3]);
				
			}
		}
	}
}

class deleteButton extends JButton{
	
	public deleteButton (){

		addActionListener ((ActionListener) new Listener1 ());
		setText("Delete");
	}

	class Listener1 implements ActionListener{
		public void actionPerformed (ActionEvent e){
	
                                // Und nu?

		}
	}
}

Hat jemand n Anreiz? Mein Dank ist gewiss!

-bedank-
TZP
 

Wildcard

Top Contributor
Statt des Arrays solltest du wohl eine List (zb LinkedList) verwenden.
Wenn der Button gedrückt wird rifst du dann list.clear() auf.
 

TZP

Mitglied
Gibt es noch ne Alternative dazu? Ich würde gern das Array behalten, wenn es geht. Hab in der Klasse deleteButton ein Objekt von LinienZeichnen erzeugt und wollte es so ansprechen. Kompiliert er ohne Probleme aber das Array blieb immer leer.
 

TZP

Mitglied
Das hab ich mir auch gedacht und dann das hier gebastelt

Code:
class deleteButton extends JButton{
	
	public deleteButton (){

		addActionListener ((ActionListener) new Listener1 ());
		setText("Delete");
	}

	class Listener1 implements ActionListener{
		public void actionPerformed (ActionEvent e){
			
			int[] leeresArray = new int[200];
			LinienZeichnen abc = new LinienZeichnen();
			abc.punkteArray = leeresArray;
			abc.index = 0;
			abc.zaehler = 0;
		}
	}
}

Aber wenn ich mir die Werte vorher und nacher s.o.p. lasse, sind sie immer 0. Alles ist auf public gesetzt aber er scheint dennoch nix in abc.index usw einzutragen.
 

Wildcard

Top Contributor
Es bringt dir nichts irgendein 'LinienZeichenen' Objekt zu manipulieren, du musst das 'LinienZeichnen' Objekt verändern das in deinem Frame liegt.
Das geht über eine Referenz auf selbiges.
 

TZP

Mitglied
Ich werd mich gewiss gleich übelst blamieren aber ich krieg´s nich raus. Wie unangenehm. ;-/ Vielleicht ist es auch n Verständnisproblem, weil ich nich so ganz kapiere, was das int[] mit dem Frame zu tun hat.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Mehrere Linien zeichnen AWT, Swing, JavaFX & SWT 8
T Tic Tac Toe - GUI Linien zeichnen AWT, Swing, JavaFX & SWT 14
S Parallele Linien zeichnen AWT, Swing, JavaFX & SWT 5
J Linien auf JPanel zeichnen AWT, Swing, JavaFX & SWT 3
llabusch Linien in JPanel zeichnen AWT, Swing, JavaFX & SWT 6
S 2D-Grafik MouseDragged Linien zeichnen AWT, Swing, JavaFX & SWT 4
M Zeichnen ohne vorherige Linien zu löschen AWT, Swing, JavaFX & SWT 2
C Linien über GridLayout zeichnen AWT, Swing, JavaFX & SWT 3
M 2D-Grafik Mehrere Linien (nacheinander) übereinander Zeichnen AWT, Swing, JavaFX & SWT 6
P SWT Linien / Pfeile zeichnen in SWT? AWT, Swing, JavaFX & SWT 3
C AWT: Pixel für Pixel Linien auf Panel zeichnen AWT, Swing, JavaFX & SWT 2
M Farbige Linien zeichnen AWT, Swing, JavaFX & SWT 3
M Linien zeichnen und anklicken AWT, Swing, JavaFX & SWT 2
V JFreechart: In Linechart Linien einzeichnen und Bereiche färben AWT, Swing, JavaFX & SWT 4
I ContentPane lösche linien AWT, Swing, JavaFX & SWT 1
1 Buttons in Kombination mit Linien AWT, Swing, JavaFX & SWT 3
A 2D-Grafik Dickere Linien AWT, Swing, JavaFX & SWT 4
D JCombobox mit Linien Styles AWT, Swing, JavaFX & SWT 4
O Sättigung bei Linien AWT, Swing, JavaFX & SWT 2
P Swing Skalieren mit DrawImage macht Linien kaputt AWT, Swing, JavaFX & SWT 6
J 2D-Grafik Fehler beim Überzeichnen von Linien AWT, Swing, JavaFX & SWT 11
K Swing JTable - vertikale Gitter-Linien AWT, Swing, JavaFX & SWT 2
1 Eigene Component in JScrollBar + fixe Linien??? AWT, Swing, JavaFX & SWT 2
U SWT Linien verschwinden nach Verschieben AWT, Swing, JavaFX & SWT 3
P [gelöst] Verschiebbare Komponenten mit Linien verbinden AWT, Swing, JavaFX & SWT 2
S [Swing] Wie zeichne ich neue Linien AWT, Swing, JavaFX & SWT 3
P Problem beim Linien ziehen! AWT, Swing, JavaFX & SWT 12
Bierhumpen Linien anklicken? AWT, Swing, JavaFX & SWT 9
X Dynamische linien (Position und Länge) AWT, Swing, JavaFX & SWT 4
B Urspungskoordinaten von Linien ändern AWT, Swing, JavaFX & SWT 3
Z Und schon wieder die Linien (Problem beim überzeichnen) AWT, Swing, JavaFX & SWT 4
G Linien Diagram in SWT AWT, Swing, JavaFX & SWT 4
S JTable - Breite der Linien AWT, Swing, JavaFX & SWT 8
F Zeichen von Linien, Rechtecken, zb wie in paint AWT, Swing, JavaFX & SWT 2
M gestrichelte Linien bzw. Pfeile AWT, Swing, JavaFX & SWT 2
B JTree + Linien im Windows L&F AWT, Swing, JavaFX & SWT 9
G Linien in ein Koordinatensystem zeichen AWT, Swing, JavaFX & SWT 7
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
E Transparent zeichnen AWT, Swing, JavaFX & SWT 2
S AWT Probleme beim Zeichnen AWT, Swing, JavaFX & SWT 3
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
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
P AWT Canvas freihändig zeichnen AWT, Swing, JavaFX & SWT 1
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
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

Ähnliche Java Themen


Oben