JAVA SWING - rysowanie po wybraniu jMenuItem

0

Witajcie programiści.
Mam na podśmierdziałek oddać projekt, który polega na tym, że po wybraniu konkretnego jMenuItem z jMenuBar rysuje się figura. Całość jest ogólnie bardzo łopatologiczna, aczkolwiek mam w głowie czarną dziurę, przez którą nie jestem w stanie dokończyć projektu - nie wiem co w pisać jako akcję dla jMenuItem, by niżej została narysowana wybrana (jakakolwiek...) figura. Załączam niżej kod, który napisałem. Proszę o pomoc.
Pozdrawiam.

package projekt_dwa;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.AbstractAction;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;


public class Projekt_Dwa extends JFrame {
    public Projekt_Dwa() {
        initUI();
    }
    
    public final void initUI() {
        JMenuBar menubar = new JMenuBar();
        
        JPanel panel = new JPanel();
        getContentPane().add(panel);
        panel.setLayout(null);
        
        ImageIcon inowy = new ImageIcon(getClass().getResource("nowy.png"));
        ImageIcon izapisz = new ImageIcon(getClass().getResource("zapisz.png"));
        ImageIcon iotworz = new ImageIcon(getClass().getResource("otworz.png"));
        ImageIcon idrukuj = new ImageIcon(getClass().getResource("drukuj.png"));
        ImageIcon iwyjscie = new ImageIcon(getClass().getResource("wyjscie.png"));
        ImageIcon ikolo = new ImageIcon(getClass().getResource("kolo.png"));
        ImageIcon ikwadrat = new ImageIcon(getClass().getResource("kwadrat.png"));
        ImageIcon iprostokat = new ImageIcon(getClass().getResource("prostokat.png"));
        ImageIcon itrojkat = new ImageIcon(getClass().getResource("trojkat.png"));
        ImageIcon iwielokat = new ImageIcon(getClass().getResource("wielokat.png"));
        ImageIcon iowal = new ImageIcon(getClass().getResource("owal.png"));
        ImageIcon ilinia = new ImageIcon(getClass().getResource("linia.png"));
        ImageIcon iprzesun = new ImageIcon(getClass().getResource("przesun.png"));
        ImageIcon irozmiar = new ImageIcon(getClass().getResource("rozmiar.png"));
        ImageIcon igradient = new ImageIcon(getClass().getResource("gradient.png"));
        ImageIcon itekstura = new ImageIcon(getClass().getResource("tekstura.png"));
        ImageIcon iczerwony = new ImageIcon(getClass().getResource("czerwony.png"));
        ImageIcon iniebieski = new ImageIcon(getClass().getResource("niebieski.png"));
        ImageIcon izielony = new ImageIcon(getClass().getResource("zielony.png"));
        ImageIcon ispis = new ImageIcon(getClass().getResource("spis.png"));
        ImageIcon io = new ImageIcon(getClass().getResource("o.png"));
        
        JMenu plik = new JMenu("Plik");
        JMenuItem p1MenuItem = new JMenuItem("Nowy", inowy);
        JMenuItem p2MenuItem = new JMenuItem("Zapisz", izapisz);
        JMenuItem p3MenuItem = new JMenuItem("Otwórz", iotworz);
        JMenuItem p4MenuItem = new JMenuItem("Drukuj", idrukuj);
        JMenuItem p5MenuItem = new JMenuItem("Wyjście", iwyjscie);
            p5MenuItem.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent event) {
                    System.exit(0);
                }
            });
        
        JMenu akcja = new JMenu("Akcja");
        JMenu a1MenuItem = new JMenu("Rysuj figurę");
            JMenuItem aa1MenuItem = new JMenuItem("Koło", ikolo);
            JMenuItem aa2MenuItem = new JMenuItem("Owal", iowal);
            JMenuItem aa3MenuItem = new JMenuItem("Kwadrat", ikwadrat);
            JMenuItem aa4MenuItem = new JMenuItem("Prostokąt", iprostokat);
            JMenuItem aa5MenuItem = new JMenuItem("Trójkąt", itrojkat);
            JMenuItem aa6MenuItem = new JMenuItem("Wielokąt", iwielokat);
            JMenuItem aa7MenuItem = new JMenuItem("Linia", ilinia);
        JMenuItem a2MenuItem = new JMenuItem("Przesuń figurę", iprzesun);
        JMenuItem a3MenuItem = new JMenuItem("Zmień rozmiar", irozmiar);
        
            JMenu kolor = new JMenu("Kolor");
        JMenu k1MenuItem = new JMenu("Standardowy");
            JMenuItem kk1MenuItem = new JMenuItem("Domyślny");
            JMenuItem kk2MenuItem = new JMenuItem("Czerwony", iczerwony);
            JMenuItem kk3MenuItem = new JMenuItem("Niebieski", iniebieski);
            JMenuItem kk4MenuItem = new JMenuItem("Zielony", izielony);
        JMenuItem k2MenuItem = new JMenuItem("Gradient", igradient);
        JMenuItem k3MenuItem = new JMenuItem("Textura", itekstura);
        
        JMenu pomoc = new JMenu("Pomoc");
        JMenuItem po1MenuItem = new JMenuItem("Spis pomocy", ispis);
        JMenuItem po2MenuItem = new JMenuItem(new AbstractAction("O programie", io) {
            public void actionPerformed (ActionEvent e) {
                javax.swing.JOptionPane.showMessageDialog(null, "Drugi projekt na GiKC-K\nAutor: DawidG3\nKopyrajty itp", "O programie", JOptionPane.INFORMATION_MESSAGE);
            }
        });
        
        
        plik.add(p1MenuItem);
        plik.add(p2MenuItem);
        plik.add(p3MenuItem);
        plik.add(p4MenuItem);
        plik.add(p5MenuItem);
        
        akcja.add(a1MenuItem);
            a1MenuItem.add(aa1MenuItem);
            a1MenuItem.add(aa2MenuItem);
            a1MenuItem.add(aa3MenuItem);
            a1MenuItem.add(aa4MenuItem);
            a1MenuItem.add(aa5MenuItem);
            a1MenuItem.add(aa6MenuItem);
            a1MenuItem.add(aa7MenuItem);
        akcja.add(a2MenuItem);
        akcja.add(a3MenuItem);
        
        kolor.add(k1MenuItem);
            k1MenuItem.add(kk1MenuItem);
            k1MenuItem.add(kk2MenuItem);
            k1MenuItem.add(kk3MenuItem);
            k1MenuItem.add(kk4MenuItem);
        kolor.add(k2MenuItem);
        kolor.add(k3MenuItem);
        
        pomoc.add(po1MenuItem);
        pomoc.add(po2MenuItem);
        
        
        menubar.add(plik);
        menubar.add(akcja);
        menubar.add(kolor);
        menubar.add(pomoc);
        
        
        setJMenuBar(menubar);
        setTitle("GiKC-K - Projekt 2");
        setSize(800, 600);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
    }
 
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                Projekt_Dwa ex = new Projekt_Dwa();
                ex.setVisible(true);
            }
        });
    }
}
0

Chcesz rysować po panelu?

JPanel panel = new MyPanel();
getContentPane().add(panel);
//panel.setLayout(null); niepotrzebne

Poniższą klasę najwygodniej zdefiniować jako klasę wewnętrzną

class MyPanel extends JPanel
{
     public MyPanel()
     {
         setPreferredSize(new Dimension(600,400));
         setBackground(Color.WHITE);
     }
     public void paintComponent(Graphics g)
     {
         super.paintComponent(g);
         //w zależności od tego co wybrał użytkownik z menu, np.
         g.drawRect(....);
     }
}

Do każdej pozycji w menu przypinasz ActionListenera, w obsłudze zdarzenia ustawiasz jakąś zmienną decydującą co ma być narysowane i wywołujesz repaint().

0

Chcę po prostu narysować te figurki.

Zdefiniowałem klasę MyPanel.

Czy przypięcie ActionListenera do pozycji i ustawienie zmiennej ma wyglądać tak:

JMenuItem po1MenuItem = new JMenuItem("Spis pomocy", ispis);
            po1MenuItem.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent event) {
                    int a;
                }
            });

Gdzie mam wywołać repaint()?

0
JMenuItem aa1MenuItem = new JMenuItem("Koło", ikolo);
            aa1MenuItem.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent event) {
                    coRysowac = ...;
                    repaint();
                }
            });

coRysować jest polem w klasie, np. typu int

     public void paintComponent(Graphics g)
     {
         super.paintComponent(g);
         switch(coRysowac)
         {
              ...
         }
     }
0
public class Projekt_Dwa_F extends JFrame {
    int coRysowac;
    
    class MyPanel extends JPanel {
        public MyPanel() {
            setPreferredSize(new Dimension(600,400));
            setBackground(Color.WHITE);
        }
        public void paintComponent(Graphics g) {
            super.paintComponent(g);
            switch (coRysowac) {
                case 1: { System.out.println("Komunikat informujący o case 1.");
                }
            }
        }
    }
// dalsza część kodu

czy deklaracja zmiennej coRysowac typu int jest w dobrym miejscu?
Switch przypisany na sztywno w ramach testów.

JMenuItem aa1MenuItem = new JMenuItem("Koło", ikolo);
                aa1MenuItem.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent event) {
                        coRysowac = 1;
                        repaint();
                        System.out.println("Komunikat testowy.");
                    }
                });

Po kliknięciu na Akcja -> Rysuj figurę -> Koło w konsoli widzę Komunikat testowy, czyli kliknięcie na Koło zostało poprawnie odczytane przez program i wykonała się instrukcja wypisania komunikatu. Dlaczego po przypisaniu zmiennej coRysowac wartości 1 nie wykonało się wyświetlenie komunikatu Komunikat informujący o case 1?

0

Niemożliwe, na pewno zmieniłeś

JPanel panel = new JPanel();

na

JPanel panel = new MyPanel();
0

W ogóle gdzieś mi uciekły te 2 linijki:

JPanel panel = new MyPanel();
getContentPane().add(panel);

Teraz już jest OK. I tło jest białe, i switch działa :) Elegancko. Piszę dalej. Dam znać jak skończę. Póki co dziękuję za pomoc ;)

0

Pytanie z mojej strony, czy na pewno chcesz się trzymać tych nic nie znaczących intów determinujących co ma zostać narysowane? Takie rzeczy można zrobić np. z wykorzystaniem enumów co znacznie poprawi czytelność kodu, albo z zastosowaniem akcji, która jako argument będzie przyjmowała dany kształt a następnie w actionPerformed go po prostu ustawi (dzięki temu możesz pozbyć się całego switcha)

0

Te nic nieznaczące inty są OK. To tylko projekt na zajęcia. Jeśli będzie taka potrzeba, to zastosuję te magiczne dla mnie enumy ;)

Koniec końców projekt wygląda jak niżej. Dziękuję bogdans za pomoc! :)

package projekt_dwa_f;
 
import java.awt.AWTException;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.swing.AbstractAction;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;


public class Projekt_Dwa_F extends JFrame {
    int coRysowac=0;
    int jakiKolor=0;
    
    public Projekt_Dwa_F() {
        initUI();
    }
 
    public final void initUI() {
        JMenuBar menubar = new JMenuBar();
        
        JPanel panel = new MyPanel();
        getContentPane().add(panel);
        
        ImageIcon inowy = new ImageIcon(getClass().getResource("nowy.png"));
        ImageIcon izapisz = new ImageIcon(getClass().getResource("zapisz.png"));
        ImageIcon iotworz = new ImageIcon(getClass().getResource("otworz.png"));
        ImageIcon idrukuj = new ImageIcon(getClass().getResource("drukuj.png"));
        ImageIcon iwyjscie = new ImageIcon(getClass().getResource("wyjscie.png"));
        ImageIcon ikolo = new ImageIcon(getClass().getResource("kolo.png"));
        ImageIcon ikwadrat = new ImageIcon(getClass().getResource("kwadrat.png"));
        ImageIcon iprostokat = new ImageIcon(getClass().getResource("prostokat.png"));
        ImageIcon itrojkat = new ImageIcon(getClass().getResource("trojkat.png"));
        ImageIcon iwielokat = new ImageIcon(getClass().getResource("wielokat.png"));
        ImageIcon iowal = new ImageIcon(getClass().getResource("owal.png"));
        ImageIcon ilinia = new ImageIcon(getClass().getResource("linia.png"));
        ImageIcon iprzesun = new ImageIcon(getClass().getResource("przesun.png"));
        ImageIcon irozmiar = new ImageIcon(getClass().getResource("rozmiar.png"));
        ImageIcon igradient = new ImageIcon(getClass().getResource("gradient.png"));
        ImageIcon itekstura = new ImageIcon(getClass().getResource("tekstura.png"));
        ImageIcon iczarny = new ImageIcon(getClass().getResource("czarny.png"));
        ImageIcon iczerwony = new ImageIcon(getClass().getResource("czerwony.png"));
        ImageIcon iniebieski = new ImageIcon(getClass().getResource("niebieski.png"));
        ImageIcon izielony = new ImageIcon(getClass().getResource("zielony.png"));
        ImageIcon ispis = new ImageIcon(getClass().getResource("spis.png"));
        ImageIcon io = new ImageIcon(getClass().getResource("o.png"));
 
        JMenu plik = new JMenu("Plik");
        JMenuItem p1MenuItem = new JMenuItem("Nowy", inowy);
            p1MenuItem.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent event) {
                        coRysowac = 0;
                        repaint();
                    }
                });
        JMenuItem p2MenuItem = new JMenuItem("Zapisz", izapisz);
            p2MenuItem.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent event) {
                    BufferedImage image = null;
                    try {
                        image = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
                    } catch (AWTException ex) {
                        Logger.getLogger(Projekt_Dwa_F.class.getName()).log(Level.SEVERE, null, ex);
                    }
                    try {
                        ImageIO.write(image, "png", new File("d:/screenshot.png"));
                    } catch (IOException ex) {
                        Logger.getLogger(Projekt_Dwa_F.class.getName()).log(Level.SEVERE, null, ex);
                    }
                }
            });
        JMenuItem p3MenuItem = new JMenuItem(new AbstractAction("Otwórz", iotworz) {
            public void actionPerformed(ActionEvent e) {
                javax.swing.JOptionPane.showMessageDialog(null, "Opcja 'Otwórz' niedostępna.", "Błąd", JOptionPane.ERROR_MESSAGE);
            }
        });
        JMenuItem p4MenuItem = new JMenuItem(new AbstractAction("Drukuj", idrukuj) {
            public void actionPerformed(ActionEvent e) {
                javax.swing.JOptionPane.showMessageDialog(null, "Opcja 'Drukuj' niedostępna.", "Błąd", JOptionPane.ERROR_MESSAGE);
            }
        });
        JMenuItem p5MenuItem = new JMenuItem("Wyjście", iwyjscie);
            p5MenuItem.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent event) {
                    System.exit(0);
                }
            });
 
        JMenu akcja = new JMenu("Akcja");
        JMenu a1MenuItem = new JMenu("Rysuj figurę");
            JMenuItem aa1MenuItem = new JMenuItem("Koło", ikolo);
                aa1MenuItem.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent event) {
                        coRysowac = 1;
                        repaint();
                    }
                });
            JMenuItem aa2MenuItem = new JMenuItem("Owal", iowal);
                aa2MenuItem.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent event) {
                        coRysowac = 2;
                        repaint();
                    }
                });
            JMenuItem aa3MenuItem = new JMenuItem("Kwadrat", ikwadrat);
                aa3MenuItem.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent event) {
                        coRysowac = 3;
                        repaint();
                    }
                });
            JMenuItem aa4MenuItem = new JMenuItem("Prostokąt", iprostokat);
                aa4MenuItem.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent event) {
                        coRysowac = 4;
                        repaint();
                    }
                });
            JMenuItem aa5MenuItem = new JMenuItem("Trójkąt", itrojkat);
                aa5MenuItem.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent event) {
                        coRysowac = 5;
                        repaint();
                    }
                });
            JMenuItem aa6MenuItem = new JMenuItem("Wielokąt", iwielokat);
                aa6MenuItem.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent event) {
                        coRysowac = 6;
                        repaint();
                    }
                });
            JMenuItem aa7MenuItem = new JMenuItem("Linia", ilinia);
                aa7MenuItem.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent event) {
                        coRysowac = 7;
                        repaint();
                    }
                });
        JMenuItem a2MenuItem = new JMenuItem(new AbstractAction("Przesuń figurę", iprzesun) {
            public void actionPerformed(ActionEvent e) {
                javax.swing.JOptionPane.showMessageDialog(null, "Opcja 'Przesuń figurę' niedostępna.", "Błąd", JOptionPane.ERROR_MESSAGE);
            }
        });
        JMenuItem a3MenuItem = new JMenuItem(new AbstractAction("Zmień rozmiar", irozmiar) {
            public void actionPerformed(ActionEvent e) {
                javax.swing.JOptionPane.showMessageDialog(null, "Opcja 'Zmień rozmiar' niedostępna.", "Błąd", JOptionPane.ERROR_MESSAGE);
            }
        });
 
        JMenu kolor = new JMenu("Kolor");
            JMenu k1MenuItem = new JMenu("Standardowy");
                JMenuItem kk1MenuItem = new JMenuItem("Domyślny", iczarny);
                    kk1MenuItem.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent event) {
                            jakiKolor = 1;
                            repaint();
                        }
                    });
                JMenuItem kk2MenuItem = new JMenuItem("Czerwony", iczerwony);
                   kk2MenuItem.addActionListener(new ActionListener() {
                      public void actionPerformed(ActionEvent event) {
                          jakiKolor = 2;
                           repaint();
                       }
                   });
               JMenuItem kk3MenuItem = new JMenuItem("Niebieski", iniebieski);
                    kk3MenuItem.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent event) {
                            jakiKolor = 3;
                            repaint();
                        }
                    });
                JMenuItem kk4MenuItem = new JMenuItem("Zielony", izielony);
                    kk4MenuItem.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent event) {
                            jakiKolor = 4;
                            repaint();
                        }
                    });
            JMenuItem k2MenuItem = new JMenuItem(new AbstractAction("Gradient", igradient) {
                public void actionPerformed(ActionEvent e) {
                    javax.swing.JOptionPane.showMessageDialog(null, "Opcja 'Gradient' niedostępna.", "Błąd", JOptionPane.ERROR_MESSAGE);
                }
            });
            JMenuItem k3MenuItem = new JMenuItem(new AbstractAction("Textura", itekstura) {
                public void actionPerformed(ActionEvent e) {
                    javax.swing.JOptionPane.showMessageDialog(null, "Opcja 'Texturua' niedostępna.", "Błąd", JOptionPane.ERROR_MESSAGE);
                }
            });
 
        JMenu pomoc = new JMenu("Pomoc");
            JMenuItem po1MenuItem = new JMenuItem(new AbstractAction("Spis pomocy", ispis) {
                public void actionPerformed(ActionEvent e) {
                    javax.swing.JOptionPane.showMessageDialog(null, "Opcja 'Spis pomocy' niedostępna.", "Błąd", JOptionPane.ERROR_MESSAGE);
                }
            });
            JMenuItem po2MenuItem = new JMenuItem(new AbstractAction("O programie", io) {
                public void actionPerformed (ActionEvent e) {
                    javax.swing.JOptionPane.showMessageDialog(null, "Drugi projekt na GiKC-K\nAutor: DawidG3\nKopyrajty itp", "O programie", JOptionPane.INFORMATION_MESSAGE);
                }
            });
            
 
        plik.add(p1MenuItem);
        plik.add(p2MenuItem);
        plik.add(p3MenuItem);
        plik.add(p4MenuItem);
        plik.add(p5MenuItem);
 
        akcja.add(a1MenuItem);
            a1MenuItem.add(aa1MenuItem);
            a1MenuItem.add(aa2MenuItem);
            a1MenuItem.add(aa3MenuItem);
            a1MenuItem.add(aa4MenuItem);
            a1MenuItem.add(aa5MenuItem);
            a1MenuItem.add(aa6MenuItem);
            a1MenuItem.add(aa7MenuItem);
        akcja.add(a2MenuItem);
        akcja.add(a3MenuItem);
 
        kolor.add(k1MenuItem);
            k1MenuItem.add(kk1MenuItem);
            k1MenuItem.add(kk2MenuItem);
            k1MenuItem.add(kk3MenuItem);
            k1MenuItem.add(kk4MenuItem);
        kolor.add(k2MenuItem);
        kolor.add(k3MenuItem);
 
        pomoc.add(po1MenuItem);
        pomoc.add(po2MenuItem);
 
 
        menubar.add(plik);
        menubar.add(akcja);
        menubar.add(kolor);
        menubar.add(pomoc);
 
 
        setJMenuBar(menubar);
        setTitle("GiKC-K - Projekt 2");
        setSize(800, 600);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
    }
    
    class MyPanel extends JPanel {
        public MyPanel() {
            setPreferredSize(new Dimension(800,600));
            setBackground(Color.white);
        }
        public void paintComponent(Graphics g) {
            super.paintComponent(g);
            Graphics2D g2d = (Graphics2D)g.create();
            
            switch (jakiKolor) {
                case 1: {
                    g.setColor(Color.black);
                    break;
                }
                case 2: {
                    g.setColor(Color.red);
                    break;
                }
                case 3: {
                    g.setColor(Color.blue);
                    break;
                }
                case 4: {
                    g.setColor(Color.green);
                    break;
                }
            }
            
            switch (coRysowac) {
                case 0: {
                    g.fillRect(0,0,0,0);
                    break;
                }
                case 1: {
                    g.fillOval(20, 50, 100, 100);
                    break;
                }
                case 2: {
                    g.fillOval(150, 50, 200, 100);
                    break;
                }
                case 3: {
                    g.fillRect(50, 50, 150, 150);
                    break;
                }
                case 4: {
                    g.fillRect(80, 80, 200, 20);
                    break;
                }
                case 5: {
                    int iksy[] = {225, 145, 45};
                    int igreki[] = {245, 15, 225};
                    int en = 3;
                    g.fillPolygon(iksy, igreki, en);
                    break;
                }
                case 6: {
                    int iksy[] = {150, 350, 550, 450, 250};
                    int igreki[] = {150, 50, 150, 300, 300};
                    int en = 5;
                    g.fillPolygon(iksy, igreki, en);
                    break;
                }
                case 7: {
                    g.drawLine(50, 100, 200, 350);
                    break;
                }
            }
        }
    }
    
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                Projekt_Dwa_F p2 = new Projekt_Dwa_F();
                p2.setVisible(true);
            }
        });
    }
}

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