Hallo zusammen...
lange nicht gesehen und Programmiert
Nun da ich wieder angefangen habe stehe ich mal wieder vor einem Problem.
Ich habe zwei Class Dateien.
Die eine soll JFrame übernehmen, die andere Graphics.
Jetzt wollte ich über Buttons in der JFrame-Class "paint" aus der Graphics beeinflussen.
Ist das möglich?
Ich habe schon eine ganze Menge rumgebastelt... vom Konstruktor über Wertübergaben...
Nichts half.
Bitte um Hilfe.
Ich habe meine beiden Dateien in neutraler Button stellung und so simpel wie möglich bei gefühgt zur Übersicht.
Die Linie sollte beim Start Schwar sein,
beim klicken des "Bild 1" Buttons Gelb
und beim klicken des "Bild 2" Buttons Grün.
THX
lange nicht gesehen und Programmiert

Nun da ich wieder angefangen habe stehe ich mal wieder vor einem Problem.
Ich habe zwei Class Dateien.
Die eine soll JFrame übernehmen, die andere Graphics.
Jetzt wollte ich über Buttons in der JFrame-Class "paint" aus der Graphics beeinflussen.
Ist das möglich?
Ich habe schon eine ganze Menge rumgebastelt... vom Konstruktor über Wertübergaben...
Nichts half.
Bitte um Hilfe.
Ich habe meine beiden Dateien in neutraler Button stellung und so simpel wie möglich bei gefühgt zur Übersicht.
Java:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Start extends JFrame implements ActionListener
{
private static final long serialVersionUID = 1L;
private JButton bild1Btn = new JButton("Bild 1");
private JButton bild2Btn = new JButton("Bild 2");
Start()
{
super("TestCanvas");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(660,550);
setResizable(false);
setLayout(null);
setVisible(true);
Grafik graAnzeige = new Grafik();
graAnzeige.setBounds(10,10,500,500);
add(graAnzeige);
bild1Btn.setBounds(520,50,100,20);
add(bild1Btn);
bild2Btn.setBounds(520,100,100,20);
add(bild2Btn);
bild1Btn.addActionListener(this);
bild2Btn.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
Grafik graAnzeige = new Grafik();
if (e.getActionCommand().equals("Bild 1")) // Linie Gelb
{
graAnzeige.setBounds(10,10,500,500);
add(graAnzeige);
}
if (e.getActionCommand().equals("Bild 2")) // Linie Grün
{
graAnzeige.setBounds(10,10,500,500);
add(graAnzeige);
}
}
public static void main(String[] args)
{
new Start();
}
}
Java:
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;
public class Grafik extends Canvas
{
private static final long serialVersionUID = 1L;
private Graphics painter;
public void zeichne1()
{
painter.drawLine(40,250,460,250);
}
public void zeichne2()
{
painter.setColor(Color.yellow);
painter.drawLine(40,250,460,250);
}
public void zeichne3()
{
painter.setColor(Color.green);
painter.drawLine(40,250,460,250);
}
public void paint(Graphics g)
{
super.paint(g);
painter=g;
zeichne1(); // am Anfang Schwarz
zeichne2(); // bei klicken des "Bild 1" Button Gelb
zeichne3(); // bei klicken des "Bild 2" Button Grün
}
}
Die Linie sollte beim Start Schwar sein,
beim klicken des "Bild 1" Buttons Gelb
und beim klicken des "Bild 2" Buttons Grün.
THX
Zuletzt bearbeitet: