Hallo,
Ich wollte ein Rechteck zeichnen lassen, welches mit den Werten von Eingaben, welche vorher über Textfelder eingegeben werden, gezeichnet wird. Leider wird mir "Illegal start of Expression" bei den static Variablen angezeigt. Ich hoffe ihr könnt mir weiterhelfen.
Ich wollte ein Rechteck zeichnen lassen, welches mit den Werten von Eingaben, welche vorher über Textfelder eingegeben werden, gezeichnet wird. Leider wird mir "Illegal start of Expression" bei den static Variablen angezeigt. Ich hoffe ihr könnt mir weiterhelfen.
Java:
package Rechteck;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.Rectangle2D;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Rechteck extends JFrame {
JPanel panel;
public Rechteck(){
Eingabe();
}
public void T(double b,double a) {
static double breite=b;
static double länge=a;
panel = new Zeichnen();
add(panel);
this.setSize(1920, 1080);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public static void main(String[] args) {
new Rechteck();
}
public void Eingabe() {
JFrame ajf = new JFrame();
ajf.setSize(600,300);
final JPanel ap = new JPanel();
JLabel al = new JLabel("Länge?");
ap.add(al);
final JTextField atf = new JTextField(50);
atf.setForeground(Color.red);
atf.setBackground(Color.yellow);
ap.add(atf);
JLabel bl = new JLabel("Breite?");
ap.add(bl);
final JTextField btf = new JTextField(50);
btf.setForeground(Color.red);
btf.setBackground(Color.yellow);
ap.add(btf);
JButton aok = new JButton("OK");
ap.add(aok);
ajf.add(ap);
ajf.setVisible(true);
aok.addActionListener (new ActionListener () {
@Override
public void actionPerformed(ActionEvent e) {
String as,bs,es ;
double a,b = 0 ;
final double ergebnis;
as = atf.getText();
a = Double.parseDouble(as);
bs = btf.getText();
b = Double.parseDouble(bs);
T(b,a);
}
});
}
}
class Zeichnen extends JPanel {
public void Zeichnen(Graphics g) {
static double a=Rechteck.länge;
static double b=Rechteck.breite;
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(Color.WHITE);
g2d.fillRect(0, 0, this.getWidth(), this.getHeight());
g2d.setColor(Color.BLACK);
int x = 150;
int y = 150;
Rectangle2D.Double form = new Rectangle2D.Double(x,y, x+a,x+b);
g2d.draw(form);
}
}