Hallo,
ich habe folgendes Problem.
Ich habe eine Zeichenfläche und eine Klasse die ein Objekt in diese Zeichenfläche zeichnen soll per Button-Druck
Ich hab alles versucht, gelesen, probiert, studiert, getestet, geraten, gehofft!!!! Nichts hat funktioniert.
Ich finde einfach meinen Fehler nicht.
Generell etwas in ein Fenster zu laden ist eigentlich nicht das Problem. Das klappt (siehe class Oberflaeche) prima.
Ich schaffe es halt nur nicht ein Objekt in dieses Zeichenfeld zu laden. Oder hab ich da generell was nicht verstanden??
Hab auch schon alle Themen die entfernt was damit zu tun haben hier bei euch durchgeackert. Aber das Problem scheint unlösbar. Moment: ???:L Vielleicht gehts ja auch net......:autsch:
Ich hoffe ihr könnt mir helfen.

ich habe folgendes Problem.
Ich habe eine Zeichenfläche und eine Klasse die ein Objekt in diese Zeichenfläche zeichnen soll per Button-Druck
Code:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.geom.*;
public class StarteOberflaeche extends JFrame implements ActionListener {
//Der erste Button (funktioniert)
JButton GeradeKurz = new JButton("gerade kurz");
//Diese Methode legt mein Fenster an (funktioniert)
public StarteOberflaeche() {
super("test");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(800, 800);
setLocation(50, 50);
JPanel GUI = new JPanel();
GUI.setLayout(new BoxLayout(GUI, BoxLayout.PAGE_AXIS));
Oberflaeche Oberflaeche = new Oberflaeche();
GUI.add(Oberflaeche);
GUI.add(GeradeKurz);
GeradeKurz.addActionListener(this);
setContentPane(GUI);
setVisible(true);
}
//Bis hierher alles in ordnung, hab den frame mit buttons und so und der actionlistener funktioniert auch
public void actionPerformed(ActionEvent evt)
{
//naja, hier eben der actionlistener aufruf
Object source = evt.getSource();
if (source == GeradeKurz) {
GeradeKurz GeradeKurz = new GeradeKurz();
/*Hier ungefähr liegt der Hund begraben.
Ich bekomme es nicht hin das ein neues Element in
die Zeichenfläche geladen wird*/
}
}
// die gute alte main-methode
public static void main (String arguments[]) {
StarteOberflaeche StarteOberflaeche = new StarteOberflaeche();
}
}
//Diese Klasse legt meine Zeichenfläche an (funktioniert)
public class Oberflaeche extends JPanel {
public void paintComponent(Graphics g)
{
super.paintComponent(g);
setForeground(Color.BLACK);
Graphics2D Of = (Graphics2D)g;
Of.setColor(Color.GREEN.darker());
Of.fillRect(0, 0, 800, 600);
}
}
//Nunja und hier ist nun mein objekt das geladen werden soll
//hier bin ich mir nicht sicher ob ich alles richtig gemacht habe, denke mal das problem
//könnte auch hier liegen.....
public class GeradeKurz extends Oberflaeche
{
public void paint(Graphics g) {
setForeground(Color.BLACK);
Graphics2D g2d = (Graphics2D)g;
g2d.setColor(Color.BLACK);
g2d.fillRect(0, 0, 80, 80);
}
}
Ich hab alles versucht, gelesen, probiert, studiert, getestet, geraten, gehofft!!!! Nichts hat funktioniert.
Ich finde einfach meinen Fehler nicht.
Generell etwas in ein Fenster zu laden ist eigentlich nicht das Problem. Das klappt (siehe class Oberflaeche) prima.
Ich schaffe es halt nur nicht ein Objekt in dieses Zeichenfeld zu laden. Oder hab ich da generell was nicht verstanden??
Hab auch schon alle Themen die entfernt was damit zu tun haben hier bei euch durchgeackert. Aber das Problem scheint unlösbar. Moment: ???:L Vielleicht gehts ja auch net......:autsch:
Ich hoffe ihr könnt mir helfen.