drawLine zamalowanie środka

0

Jak mam parę pkt z A > B > C > A to da się jakoś zamalować środek?

package com.company;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Rysunek implements ActionListener{

    JFrame ramka;
    JButton OknaButton;
    JButton KaroseriaButton;
    JButton SwiatlaButton;
    JButton KolaButton;
    JButton FelgiButton;
    PanelRysunkowy rysunkowyP;


    public void zbudujGUI() {
        ramka = new JFrame();
        ramka.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        ramka.setSize(400, 400);

        OknaButton = new JButton("Okna");
        SwiatlaButton = new JButton("Swiatla");
        KaroseriaButton = new JButton("Karoseria");
        KolaButton = new JButton("Kola");
        FelgiButton = new JButton("Felgi");


        OknaButton.addActionListener(this);
        SwiatlaButton.addActionListener(this);
        KaroseriaButton.addActionListener(this);
        KolaButton.addActionListener(this);
        FelgiButton.addActionListener(this);

        JPanel Okno = new JPanel();
        Okno.setLayout(new BorderLayout());

        rysunkowyP = new PanelRysunkowy();
        JToolBar tb = new JToolBar();



        tb.add(OknaButton);
        tb.add(SwiatlaButton);
        tb.add(KaroseriaButton);
        tb.add(KolaButton);
        tb.add(FelgiButton);

        Okno.add("Center", rysunkowyP);
        Okno.add("North", tb);
        ramka.add(Okno);
        ramka.setVisible(true);
    }

    public void actionPerformed(ActionEvent akcja) {
        Graphics gr = rysunkowyP.getGraphics();

        if (akcja.getSource() == OknaButton)
        {
            gr.setColor(Color.BLUE);
            gr.fillRoundRect(235, 180, 25, 25,0,0);
            gr.fillRoundRect(195, 180, 25, 25,0,0);
        }
        else if (akcja.getSource() ==  SwiatlaButton) {
            gr.setColor(Color.YELLOW);
            gr.fillRoundRect(93, 205, 10, 10, 0, 0 );}
        else if (akcja.getSource() == KaroseriaButton)
        {
            gr.setColor(Color.GREEN);



            gr.drawLine(150, 235, 220, 235);
            gr.drawLine(150, 235, 220, 235);

            gr.drawLine(120, 235, 90, 235);
            gr.drawLine(250, 235, 280, 235);

            gr.drawLine(90, 235, 90, 200);
            gr.drawLine(90, 200, 120, 200);

            gr.drawLine(120, 200, 125, 195);

            gr.setColor(Color.BLUE);
            gr.drawLine(125, 195, 145, 175);

            gr.setColor(Color.GREEN);
            gr.drawLine(145, 175, 150, 170);

            gr.drawLine(150, 170, 280, 170);
            gr.drawLine(280, 170, 280, 235);

        } else if (akcja.getSource() == KolaButton) {
            gr.fillOval(120, 220, 30, 30);
            gr.fillOval(220, 220, 30, 30);
        }else if (akcja.getSource() == FelgiButton) {
            gr.setColor(Color.RED);
            gr.drawLine(135, 220, 135, 250);
            gr.drawLine(235, 220, 235, 250);

            gr.drawLine(120, 235, 150, 235);
            gr.drawLine(220, 235, 250, 235);

        }
        else
            System.out.println("Skontaktowali się ze mną kosmici");
    }

} 
0

Rozwiązane za pomocą drawPolyline.

1 użytkowników online, w tym zalogowanych: 0, gości: 1