Hallo zusammen,
ich hänge gerade fest. Entweder hab ich einen gewaltigen Denkfehler oder ich sehe den Wald vor lauter Bäumen nicht.
Ich habe mir eine Klasse geschrieben, die ein JPanel erstellt und darauf ein BufferedImage zeichnet. Nun wollte ich das auf einem JFrame ausgeben. Funktioniert. Gut, jetzt will ich das Ganze aber dynamisch machen und von Textfeldern Werte einlesen, die dann anhand der Konstruktoraufrufe ein neues Bild zeichnen und dieses möchte ich dann als JPanel auf das JFrame setzen.
OwnChart ist meine Klasse, die das Bild auf das JPanel malt.
Kann mir jemand erklären, warum nichts passiert, wenn ich den Button druecke?
Theoretisch muesste doch pnlCenter das JPanel von chart referenzieren und mit der repaint()-Methode vom frame muesste doch dann auch das JPanel neu gezeichnet werden und ich muesste das Bild sehen, oder nicht?
LG
f10
ich hänge gerade fest. Entweder hab ich einen gewaltigen Denkfehler oder ich sehe den Wald vor lauter Bäumen nicht.
Ich habe mir eine Klasse geschrieben, die ein JPanel erstellt und darauf ein BufferedImage zeichnet. Nun wollte ich das auf einem JFrame ausgeben. Funktioniert. Gut, jetzt will ich das Ganze aber dynamisch machen und von Textfeldern Werte einlesen, die dann anhand der Konstruktoraufrufe ein neues Bild zeichnen und dieses möchte ich dann als JPanel auf das JFrame setzen.
Java:
/* Hier steht unbedeutender Code */
pnlCenter = new JPanel();
frame.add(pnlCenter, BorderLayout.CENTER);
JButton btn = new JButton("Fire");
btn.addActionListener(ae -> chartify());
btn.setPreferredSize(new Dimension(0,25));
frame.add(btn, BorderLayout.SOUTH);
/* hier endet die Methode (eine Art initComponents()) */
private void chartify(){
chart = OwnChart(300, 200, 20, 70, 10, "Ananas", "Birne", "Apfel");
pnlCenter = chart.getPanel();
frame.repaint();
}
OwnChart ist meine Klasse, die das Bild auf das JPanel malt.
Kann mir jemand erklären, warum nichts passiert, wenn ich den Button druecke?
Theoretisch muesste doch pnlCenter das JPanel von chart referenzieren und mit der repaint()-Methode vom frame muesste doch dann auch das JPanel neu gezeichnet werden und ich muesste das Bild sehen, oder nicht?
LG
f10