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:
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:
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.
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.