setStroke komplett innerhalb eines Rectangles

plammy

Bekanntes Mitglied
Hola! 🙂

ich kämpfe grade mit dem Thema Stroke. Es funktioniert ja alles ich kann ein Rectangle zeichen und ein Stoke um dem.. Aber folgendes:Ich möchte diesen Stroke komplett in dem rectangle. Im Moment zeichnet es sich in gelb(siehe bild) und der ganze rectangle breite und höhe wird erhöht.. Es soll aber genau dieselbe breite und höhe insgesamt bleiben. Ich versuche quasi ein Rectangle ein Box-Modell mit padding, margin und border iwie hinzuzufüge und da fiel mit keine andere art und ewise als iwie mit der verwendung von stroke... ich hab auch ein bild hochgeladen wie ich mir das vorstelle..

Java:
   protected void paintComponent(Graphics g) 
    {
        super.paintComponent(g);
        
        Graphics2D g2d = (Graphics2D) g;

 for(Rectangle r: rectangles){   
          
           
            BasicStroke padding = new BasicStroke(30, BasicStroke.CAP_SQUARE,BasicStroke.JOIN_MITER);
 
            g2d.setColor(orange);
            g2d.fill(r2);
    
            
            g2d.setColor(Color.YELLOW);
            g2d.setStroke(padding);
            g2d.draw(r2);
 

Anhänge

  • stroke.jpg
    stroke.jpg
    26,2 KB · Aufrufe: 21
Zuletzt bearbeitet:
Was du da versuchst hat nix mit Stroke zu tun, das sind eher 2 Rechtecke übereinander. Stroke ist die Umrandungslinie eines Rechtecks, die geht eben nach innen und außen.
 
Stroke beschreibt die Dicke der Line, wenn du aber solche Rechtecke zeichnen willst, dann zeichne die lieber mittels #drawRect(...).
 
oder vllt sogar mit union ?? iwie so?

Java:
for(Rectangle r2: rectangles2){   
          
            g2d.setColor(orange);
            g2d.fill(r2);
    
            Rectangle r3 = new Rectangle(0,0,200,200);

            g2d.setColor(Color.YELLOW);

            r3.union(r2);
            g2d.draw(r3);
 

Zurück
Oben