Advertisement
Guest User

Untitled

a guest
Nov 19th, 2019
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.77 KB | None | 0 0
  1. import java.awt.BorderLayout;
  2. import java.awt.Color;
  3. import java.awt.Dimension;
  4. import java.awt.EventQueue;
  5. import java.awt.Graphics;
  6. import java.awt.Polygon;
  7. import java.awt.Toolkit;
  8.  
  9. import javax.swing.*;
  10. import javax.swing.event.ChangeEvent;
  11. import javax.swing.event.ChangeListener;
  12.  
  13.  
  14. public class Kozyra extends JFrame {
  15.     private int n=5;
  16.     private MyComponent komponent;
  17.     private boolean rr=false;
  18.     private boolean gg=false;
  19.     private boolean bb=false;
  20.  
  21.     class MyComponent extends JComponent{
  22.  
  23.         @Override
  24.         protected void paintComponent(Graphics g) {
  25.             g.setColor(new Color(rr?255:0,gg?255:0,bb?255:0));
  26.             int szer=getWidth();
  27.             int wys=getHeight();
  28.        
  29.                 g.drawLine(0, wys/4, szer, 0);
  30.                 g.drawLine(0, wys/4, szer, wys/2);
  31.                 g.drawLine(0, wys/2, szer, wys/2);
  32.                 g.drawLine(0, wys/2, szer/2, wys);
  33.                 g.drawLine(szer/2, wys, szer, wys/2);
  34.                 g.drawLine(szer/2, wys/2, szer/2, wys);
  35.             for (int i = 0; i < n; i++) {
  36.                 g.drawLine(0, wys/4, szer, wys/2*i/(n-1));
  37.                 g.drawLine(0, wys/2+wys/2*i/(n-1), szer/2*i/(n-1), wys/2+wys/2*i/(n-1));
  38.                 g.drawLine(szer/2+szer/2*i/(n-1), wys/2, szer/2+szer/2*i/(n-1), wys-wys/2*i/(n-1));
  39.             }                          
  40.             super.paintComponent(g);
  41.                        
  42.         }
  43.  
  44.     }
  45.     public Kozyra(String string) {
  46.         super(string);
  47.         Toolkit kit=Toolkit.getDefaultToolkit();
  48.         Dimension d=kit.getScreenSize();
  49.         setBounds(d.width/6, d.height/6, d.width*2/3, d.height*2/3);
  50.         setDefaultCloseOperation(EXIT_ON_CLOSE);
  51.         add(komponent=new MyComponent());
  52.         JPanel panel=new JPanel(new BorderLayout());
  53.         add(panel,BorderLayout.SOUTH);
  54.         final JSlider slider=new JSlider(2,100,n);
  55.         slider.addChangeListener(new ChangeListener() {
  56.  
  57.             @Override
  58.             public void stateChanged(ChangeEvent e) {
  59.                 n=slider.getValue();
  60.                 komponent.repaint();
  61.             }
  62.         });
  63.         panel.add(slider);
  64.         JPanel panel1=new JPanel();
  65.         panel.add(panel1,BorderLayout.EAST);
  66.         final JCheckBox cbr=new JCheckBox("R");
  67.         final JCheckBox cbg=new JCheckBox("G");
  68.         final JCheckBox cbb=new JCheckBox("B");
  69.         panel1.add(cbr);
  70.         panel1.add(cbg);
  71.         panel1.add(cbb);
  72.         cbr.addChangeListener(new ChangeListener() {
  73.  
  74.             @Override
  75.             public void stateChanged(ChangeEvent e) {
  76.                 rr=cbr.isSelected();
  77.                 komponent.repaint();
  78.             }
  79.         });
  80.         cbg.addChangeListener(new ChangeListener() {
  81.  
  82.             @Override
  83.             public void stateChanged(ChangeEvent e) {
  84.                 gg=cbg.isSelected();
  85.                 komponent.repaint();
  86.             }
  87.         });
  88.         cbb.addChangeListener(new ChangeListener() {
  89.  
  90.             @Override
  91.             public void stateChanged(ChangeEvent e) {
  92.                 bb=cbb.isSelected();
  93.                 komponent.repaint();
  94.             }
  95.         });
  96.         setVisible(true);
  97.     }
  98.  
  99.     public static void main(String[] args) {
  100.         EventQueue.invokeLater(new Runnable() {
  101.  
  102.             @Override
  103.             public void run() {
  104.                 new Kozyra("Zad 15 Kozyra");
  105.             }
  106.         });
  107.     }
  108.  
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement