Hallo Forum,
Mache gerade meine ersten Gehversuche mit GUI´s.
Habe hier schon viele Antworten gefunden, aber gerade stehe ich auf dem Schlauch, weil es eigenlich laufen sollte.
Das Problem ist, wie oben schon gesagt, das ich in der "actionPerformed" Methode nicht auf den Button zugreifen kann, von dem das Event kommt. Würde gerne einfach den Text darin ändern.
Der Text im frame ändert sich.
Hier der Code:
[Java]
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class EinfacheGui3C implements ActionListener{
JFrame frame;
JButton button;
public static void main(String[] args){
EinfacheGui3C gui=new EinfacheGui3C();
gui.los();
}
public void los(){
frame=new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton button = new JButton("Farbe wechseln");
button.addActionListener(this);
MeinZeichenPanel zeichenPanel = new MeinZeichenPanel();
frame.getContentPane().add(BorderLayout.SOUTH,button);
frame.getContentPane().add(BorderLayout.CENTER, zeichenPanel);
frame.setSize(300,300);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
frame.repaint();
frame.setTitle("Ja und nun");
button.setText("*****");
}
}
class MeinZeichenPanel extends JPanel{
public void paintComponent(Graphics g) {
Graphics2D g2d=(Graphics2D)g;
int rot1=(int)(Math.random()*255);
int grün1=(int)(Math.random()*255);
int blau1=(int)(Math.random()*255);
Color startColor=new Color(rot1,grün1,blau1);
int rot2=(int)(Math.random()*255);
int grün2=(int)(Math.random()*255);
int blau2=(int)(Math.random()*255);
Color endColor=new Color(rot2,grün2,blau2);
GradientPaint gradient=new GradientPaint(70, 70, startColor, 150,150,endColor);
g2d.setPaint(gradient);
g2d.fillOval(70,70,100,100);
}
}
[/code]
Das wär super wenn ihr mir da helfen könntet!
Habt vielen Dank!
Mache gerade meine ersten Gehversuche mit GUI´s.
Habe hier schon viele Antworten gefunden, aber gerade stehe ich auf dem Schlauch, weil es eigenlich laufen sollte.
Das Problem ist, wie oben schon gesagt, das ich in der "actionPerformed" Methode nicht auf den Button zugreifen kann, von dem das Event kommt. Würde gerne einfach den Text darin ändern.
Der Text im frame ändert sich.
Hier der Code:
[Java]
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class EinfacheGui3C implements ActionListener{
JFrame frame;
JButton button;
public static void main(String[] args){
EinfacheGui3C gui=new EinfacheGui3C();
gui.los();
}
public void los(){
frame=new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton button = new JButton("Farbe wechseln");
button.addActionListener(this);
MeinZeichenPanel zeichenPanel = new MeinZeichenPanel();
frame.getContentPane().add(BorderLayout.SOUTH,button);
frame.getContentPane().add(BorderLayout.CENTER, zeichenPanel);
frame.setSize(300,300);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
frame.repaint();
frame.setTitle("Ja und nun");
button.setText("*****");
}
}
class MeinZeichenPanel extends JPanel{
public void paintComponent(Graphics g) {
Graphics2D g2d=(Graphics2D)g;
int rot1=(int)(Math.random()*255);
int grün1=(int)(Math.random()*255);
int blau1=(int)(Math.random()*255);
Color startColor=new Color(rot1,grün1,blau1);
int rot2=(int)(Math.random()*255);
int grün2=(int)(Math.random()*255);
int blau2=(int)(Math.random()*255);
Color endColor=new Color(rot2,grün2,blau2);
GradientPaint gradient=new GradientPaint(70, 70, startColor, 150,150,endColor);
g2d.setPaint(gradient);
g2d.fillOval(70,70,100,100);
}
}
[/code]
Das wär super wenn ihr mir da helfen könntet!
Habt vielen Dank!