Problem beim Zeichnen von Rechteck

Threo

Neues Mitglied
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.




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); 
    } 
}
 
Andere Möglichkeiten wofür?

Ich habe dir aufgezeigt, dass das, was du geschrieben hast, einfach Stuss ist. Warum willst du lokale Variablen in Instanzmethoden denn als static deklarieren?
Augenscheinlich fehlen dir elementare Grundlagen in der Programmierung. Von der GUI-Programmierung bist du mit deinem Kenntnisstand noch weit entfernt. Das wird so nix.
Das ist auch nicht böse gemeint oder ähnliches, sondern ein wohlgemeinter Ratschlag. Kümmere dich erst einmal um die Grundlagen.
 

Neue Themen


Zurück
Oben