Zeichnung aktualisieren

M

MSchendel

Gast
Ich habe ein eigenartiges Problem.
Ich schreibe gerade an einem Program, welches mithilfe von ein paar Werten (die es von TextFeldern bekommt) Pythagorasbäume zeichnet. Das Programm ist in MVC-Architektur (was mir selbst etwas den überblick erschwert).

Mein Problem ist ein altbekanntes:
Wenn ich auf den Button Zeichnen klicke passiert nichts. °~°
Ich verwende die Klasse PythagorasPanel extends JPanel zum Zeichnen:
Java:
import java.awt.*;
import java.awt.geom.*;
import javax.swing.JPanel;

public class PythagorasPanel extends JPanel {
	
	PythagorasModel m  = new PythagorasModel();
    PythagorasBaum baum;
	
    /**
     * Konstruktor
     */
	PythagorasPanel( int dimX, int dimY)
    {
		setPreferredSize( new Dimension( dimX, dimY));
		m.umrechnung(400, 650, 150, 0);	//Die Umrechnung soll hier eigentlich nicht stehen,
										//aber wenn er nicht schon zu Beginn einen Baum zeichnen darf,
										//läuft das Programm nicht. (auch ein Problem -.-)
    }

    /**
    * Zeichnen von Grafikobjekten.
    */
    public void paint( Graphics g){
    	//g.setClip(0,0,800,800);
    	g.setColor( getBackground());
    	g.fillRect( 0, 0, getWidth(), getHeight());
    	g.setColor( Color.black);
    	
    	paintTree(g);
    return;
    }
    
    /**
     * Zeichnen den Baum.
     */
    public void paintTree( Graphics g){
    	baum = m.getBaum();
    	Point2D.Double p1;
    	Point2D.Double p2;
    	for(int i = 0; i < baum.getlaenge();i++){
    		// Linie
    		Linie linie = baum.getLinie(i);
    		p1 = linie.getP1();
    		p2 = linie.getP2();

    		g.drawLine((int) p1.getX(), (int)p1.getY(),(int) p2.getX(),(int) p2.getY());
    	}
    }
}

Ich verschone euch mal mit dem Model und dem View (und der Klasse Linie), da ich nicht glaube dass dort der Fehler ist und komme gleich zum Kontroller:
Java:
import java.awt.event.*;
import javax.swing.*;

public class PythagorasController extends WindowAdapter implements ActionListener{
	
	private PythagorasModel model;

	private PythagorasView view;
	
	public PythagorasController( PythagorasModel model, PythagorasView view){
		this.model = model;
		this.view = view;
	}
	
	public void release(){
		model = null;
		view = null;
	}
	
	@Override
	public void actionPerformed(ActionEvent ae) {
		String command = ae.getActionCommand();
	    if( command.equals( PythagorasView.ACTION_ZEICHNEN)){
	    	model.umrechnung(Integer.parseInt (view.getXPosition()), Integer.parseInt (view.getYPosition()), Integer.parseInt (view.getLaenge()), view.getTyp());
	    	view.repaint();
	    }
	    if( command.equals( PythagorasView.ACTION_BEENDEN))
	    	view.release();	
	}
}

Ich hoffe, dass mir jemand helfen kann, da mir mein Zeichnen mit Java jegliche Grundlagen fehlen.
Ich würde auch gern mit einem Neu-Button alles gezeichnete entfernen, weiß aber auch nicht wie ich das anstellen soll. :(

Ich bin für jede Hilfe dankbar. :)
 
M

MSchendel

Gast
Die sind alle in der View:
Hier ein paar auszüge aus der View:
Java:
private void createMenu() {
		mbMenueleiste = new JMenuBar();
		mDatei = new JMenu("Datei");
		
		JMenuItem miNeu = new JMenuItem(ACTION_NEU);
		miNeu.addActionListener(controller);
		JMenuItem miBeenden = new JMenuItem(ACTION_BEENDEN);
		miBeenden.addActionListener(controller);
		
		mDatei.add(miNeu);
		mDatei.add(miBeenden);
		
		mbMenueleiste.add(mDatei);
		setJMenuBar(mbMenueleiste);
	}

	private void makeView(){
		createMenu();
		setContentPane(createContentPane());
		addWindowListener( controller);
		pack();
	    setVisible(true);
	}
Der Zeichen-Button ist in der Methode private JPanel createContentPane(), wo auch die Textfelder und das Pythagoraspanel eingebunden werden.
Java:
	    JButton btZeichnen = new JButton(ACTION_ZEICHNEN);
	    pZeichenflaeche.add(btZeichnen);
	    btZeichnen.addActionListener( controller);
Java:
/* Auslesen-------------------------------------------- */
	
	public String getXPosition(){
		return tfXPosition.getText();
	}
	
	public String getYPosition(){
		return tfYPosition.getText();
	}
	
	public String getLaenge(){
		return tfLaenge.getText();
	}
	
	public int getTyp(){
		return (Integer) spTyp.getValue();
	}
	
	/* Update---------------------------------------------- */
	@Override
	public void update(Observable m, Object o){
		repaint();						//die Update-Methode ist eher aus der 
		ppZeichenflaeche.repaint();			//Verzweiflung heraus entstanden :/
	}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
TheJavaKid Auf eine Zeichnung im Canvas reagieren AWT, Swing, JavaFX & SWT 13
F Zeichnung einem JPanel im Layoutmanager zuweisen AWT, Swing, JavaFX & SWT 3
A Swing Zeichnung wird nicht richtig dargestellt AWT, Swing, JavaFX & SWT 4
X JInternalFrame vor Java2D-Zeichnung langsam bzw. Gui friert ein AWT, Swing, JavaFX & SWT 1
F 2D-Grafik Panel-Zeichnung erscheint nicht AWT, Swing, JavaFX & SWT 7
F Zeichnung von Kästchen mit Pfeilen... (Strukturdiagramm) AWT, Swing, JavaFX & SWT 3
P Swing Zeichnung auf Tab im Hintergrund wird nicht gezeichnet AWT, Swing, JavaFX & SWT 3
O JPanel Zeichnung verschwindet AWT, Swing, JavaFX & SWT 4
F Zeichnung verschwindet bei Nutzung von einem Layout AWT, Swing, JavaFX & SWT 6
R Swing JTable: Eigene Zeichnung im Header AWT, Swing, JavaFX & SWT 11
T Zeichnen vieler Messwerte --> Zeichnung wird nie fertig AWT, Swing, JavaFX & SWT 4
N eine Zeichnung scrollbar machen AWT, Swing, JavaFX & SWT 4
G Zeichnung verschwindet nach verändern der Fenstergröße. AWT, Swing, JavaFX & SWT 2
J Größe einer Zeichnung anpassen AWT, Swing, JavaFX & SWT 2
F zeichnung nach bedingung mit weiß übermalen AWT, Swing, JavaFX & SWT 10
G SWT Graphics Zeichnung neu laden AWT, Swing, JavaFX & SWT 13
K Zeichnung verschwindet. AWT, Swing, JavaFX & SWT 21
B Nach dem Verdecken des Applets ist die Zeichnung weg AWT, Swing, JavaFX & SWT 14
C Default table model aktualisieren AWT, Swing, JavaFX & SWT 7
G JavaFX BarChart während der Runtime aktualisieren AWT, Swing, JavaFX & SWT 4
T TableView aktualisieren AWT, Swing, JavaFX & SWT 1
W JavaFX TableView aktualisieren AWT, Swing, JavaFX & SWT 1
D JavaFX Label flackert beim aktualisieren AWT, Swing, JavaFX & SWT 12
J Swing JLabel Verknüpfung aktualisieren AWT, Swing, JavaFX & SWT 3
J JavaFX Label aktualisieren AWT, Swing, JavaFX & SWT 18
M Muss man die ObservableList aktualisieren? AWT, Swing, JavaFX & SWT 3
B Bounds aller Panels aktualisieren AWT, Swing, JavaFX & SWT 0
-DD Lobby/Spielerliste aktualisieren bei Suche AWT, Swing, JavaFX & SWT 1
T JFrame aktualisieren AWT, Swing, JavaFX & SWT 2
M JavaFX Automatisches Aktualisieren der Seite AWT, Swing, JavaFX & SWT 26
ralfb1105 Swing JTable aktualisieren AWT, Swing, JavaFX & SWT 5
H JavaFX - Label aktualisieren AWT, Swing, JavaFX & SWT 1
D JTable nach INSERT aktualisieren /refreshen AWT, Swing, JavaFX & SWT 1
S Swing Mal wieder JTable Ansicht aktualisieren AWT, Swing, JavaFX & SWT 10
Z jLabel von Methode aus aktualisieren AWT, Swing, JavaFX & SWT 7
J JTextfield automatisch aus zweiter Klasse aktualisieren AWT, Swing, JavaFX & SWT 5
J Tableview Daten hinzufügen und aktualisieren AWT, Swing, JavaFX & SWT 5
lumpigerAffe Swing Jframe aktualisieren AWT, Swing, JavaFX & SWT 27
R Swing Durch JComboBox-Item eine TextArea aktualisieren AWT, Swing, JavaFX & SWT 2
C JavaFX TreeTableView aktualisieren AWT, Swing, JavaFX & SWT 10
R GUI Element in einer Methode aktualisieren (JTextPane) AWT, Swing, JavaFX & SWT 13
thobren JavaFX textarea nach setPrefRowCount Ansicht aktualisieren AWT, Swing, JavaFX & SWT 1
Regedit JavaFX Java Canvas hört ständig auf zu aktualisieren/malen AWT, Swing, JavaFX & SWT 3
W Swing JLabel jede Sekunde aktualisieren, ohne Timer zu benutzen AWT, Swing, JavaFX & SWT 4
H Combobox aktualisieren AWT, Swing, JavaFX & SWT 2
A JFace/SWT: ListViewer Inhalt nach Selection in zweitem List Viewer aktualisieren! AWT, Swing, JavaFX & SWT 5
L GUI - Jpanel - Splitpane will nicht aktualisieren AWT, Swing, JavaFX & SWT 4
2 Zeit Differenz automatisch aktualisieren AWT, Swing, JavaFX & SWT 1
N JavaFX Stage aktualisieren AWT, Swing, JavaFX & SWT 5
A JComboBox mit Array aktualisieren AWT, Swing, JavaFX & SWT 7
S Swing JComboBox mit Listener aktualisieren AWT, Swing, JavaFX & SWT 13
O Statusleiste mit JLabel aktualisieren AWT, Swing, JavaFX & SWT 5
J JLabel während einer methode aktualisieren AWT, Swing, JavaFX & SWT 6
AssELAss Verzeichnis JFileChooser aktualisieren AWT, Swing, JavaFX & SWT 0
R AWT JLabel oder JButton aktualisieren AWT, Swing, JavaFX & SWT 1
T Int-Wert aktualisieren? AWT, Swing, JavaFX & SWT 9
A Swing JTextArea aus anderer Klasse in realtime aktualisieren AWT, Swing, JavaFX & SWT 3
S Combobox aktualisieren AWT, Swing, JavaFX & SWT 3
M Swing Aktualisieren eines JPanels nach Tasteneingabe AWT, Swing, JavaFX & SWT 2
H Swing JfreeChart aktualisieren - mit daten aus thread AWT, Swing, JavaFX & SWT 3
J GUI/Random aktualisieren? AWT, Swing, JavaFX & SWT 3
T JtextPane Zeile aktualisieren AWT, Swing, JavaFX & SWT 3
P Swing Aktualisieren von JFrame in einem onClick-Ereignis AWT, Swing, JavaFX & SWT 11
B JTable aktualisieren AWT, Swing, JavaFX & SWT 22
K SWT DataBinding, Anzahl der Zeilen aktualisieren AWT, Swing, JavaFX & SWT 4
G JRadioButton aktualisieren nicht... AWT, Swing, JavaFX & SWT 10
C ToolTip aktualisieren AWT, Swing, JavaFX & SWT 2
D Swing JComboBox aktualisieren AWT, Swing, JavaFX & SWT 4
C TextFeld in Verbindung zur ComboBox automatisch aktualisieren AWT, Swing, JavaFX & SWT 7
J JList, Anzeige aktualisieren AWT, Swing, JavaFX & SWT 7
S Inhalt einer JComboBox aktualisieren AWT, Swing, JavaFX & SWT 6
M Swing JScrollPane (Parent JTextArea) aktualisieren + neue Zeile AWT, Swing, JavaFX & SWT 5
A Swing Aktualisieren eines JPanels AWT, Swing, JavaFX & SWT 13
A JButton in einem Array aktualisieren AWT, Swing, JavaFX & SWT 8
Kenan89 JTable aktualisieren AWT, Swing, JavaFX & SWT 21
B Swing Fensterinhalt aktualisieren AWT, Swing, JavaFX & SWT 11
S Spezielle komponente aktualisieren AWT, Swing, JavaFX & SWT 9
V Swing JProgressBar aktualisieren AWT, Swing, JavaFX & SWT 14
C Combobox bei Tabellenänderung mit aktualisieren AWT, Swing, JavaFX & SWT 11
C jTable aktualisieren AWT, Swing, JavaFX & SWT 2
M TabbpedPane Anzeige aktualisieren AWT, Swing, JavaFX & SWT 6
X Swing JTree aktualisieren AWT, Swing, JavaFX & SWT 2
P AWT Fenster aktualisieren, nachdem ich JComboBox ändere AWT, Swing, JavaFX & SWT 9
D JTree nach Klick auf einen Hyperlink aktualisieren AWT, Swing, JavaFX & SWT 3
D Elternfenster vom JDialog aktualisieren oder nicht ? AWT, Swing, JavaFX & SWT 7
O JFrame: Daten alle paar Sekunden aktualisieren AWT, Swing, JavaFX & SWT 3
M Swing JLabel (mit einer Grafik) aktualisieren AWT, Swing, JavaFX & SWT 2
S JTable - Aktualisieren / Neu zeichnen. AWT, Swing, JavaFX & SWT 5
C Daten aus DB -> JTable aktualisieren klappt nicht AWT, Swing, JavaFX & SWT 16
D Swing JTextField aus anderer Klasse aktualisieren AWT, Swing, JavaFX & SWT 2
L GUI aktualisieren? AWT, Swing, JavaFX & SWT 4
X Tabelle während Funktionsaufruf aktualisieren AWT, Swing, JavaFX & SWT 11
V Panel/Icon aktualisieren AWT, Swing, JavaFX & SWT 10
R JFreeChart aktualisieren wenn sich die Ausgangsdaten ändern AWT, Swing, JavaFX & SWT 8
M Swing Aktualisieren von laufenden Anwendungen AWT, Swing, JavaFX & SWT 10
C Swing Inhalt einer JTable aktualisieren und filten nach Feldern die nicht in der Tabelle sind AWT, Swing, JavaFX & SWT 3
S Swing Probleme beim Aktualisieren einer JComboBox nach Auswahländerung AWT, Swing, JavaFX & SWT 2
J JLabel aktualisieren AWT, Swing, JavaFX & SWT 8
N Swing MainWindow(JFrame) aktualisieren(neuzeichnen) repaint AWT, Swing, JavaFX & SWT 4
K Swing JTable Model aktualisieren AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben