daily pastebin goal
44%
SHARE
TWEET

d

a guest Dec 18th, 2018 54 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Damian Dyas L1 17.12.2018 spr1 Zad.4
  2. package test;
  3.  
  4. import java.awt.BorderLayout;
  5. import java.awt.Color;
  6. import java.awt.Dimension;
  7. import java.awt.EventQueue;
  8. import java.awt.Graphics;
  9. import java.awt.Toolkit;
  10. import java.awt.event.ActionEvent;
  11. import java.awt.event.ActionListener;
  12.  
  13. import javax.swing.*;
  14. import javax.swing.event.ChangeEvent;
  15. import javax.swing.event.ChangeListener;
  16.  
  17. public class kolos extends JFrame {
  18.     MojKomponent komponent;
  19.     int n = 5;
  20.     Color kolor = Color.BLACK;
  21.     public class MojKomponent extends JComponent{
  22.  
  23.         @Override
  24.         protected void paintComponent(Graphics g) {
  25.            
  26.             int w = getWidth();
  27.             int h = getHeight();
  28.            
  29.             g.setColor(kolor);
  30.             g.drawLine(w/2, 0, w/2, h);
  31.             g.drawLine(0, h/2, w, h/2);
  32.             g.drawLine(0, 0, w/2, h/2);
  33.             g.drawLine(w, 0, w/2, h/2);
  34.             g.drawLine(0, h/2, w/2, h);
  35.             g.drawLine(w/2, h, w, h/2);
  36.  
  37.             for(int i=0;i<=n;i++){
  38.                 g.drawLine(w/2, h/2+i*h/n/2, i*w/2/n, h/2+i*h/n/2);
  39.                 g.drawLine(w/2+i*w/2/n, h, w/2+i*w/2/n, h-i*h/2/n);
  40.                 g.drawLine(w/2, h/2, w/2+i*w/2/n, 0);
  41.                 g.drawLine(w/2, h/2, i*w/2/n, 0);
  42.             }
  43.            
  44.             super.paintComponent(g);
  45.         }
  46.        
  47.     }
  48.    
  49.     public kolos(String string) {
  50.         super(string);
  51.         setDefaultCloseOperation(EXIT_ON_CLOSE);
  52.         Toolkit kit = Toolkit.getDefaultToolkit();
  53.         Dimension d = kit.getScreenSize();
  54.         setBounds(d.width/4, d.height/4, d.width/2, d.height/2);
  55.         add(komponent = new MojKomponent());
  56.        
  57.         //
  58.         JPanel panelg = new JPanel(new BorderLayout());
  59.         add(panelg,BorderLayout.SOUTH);
  60.        
  61.         JLabel labeln = new JLabel(" n");
  62.         panelg.add(labeln,BorderLayout.WEST);
  63.        
  64.        
  65.         final JLabel label2n = new JLabel(opisn());
  66.         panelg.add(label2n,BorderLayout.EAST);
  67.        
  68.        
  69.         final JSlider slider = new JSlider(1,50,n);
  70.         panelg.add(slider);
  71.        
  72.         slider.addChangeListener(new ChangeListener() {
  73.             @Override
  74.             public void stateChanged(ChangeEvent e) {
  75.                 n = slider.getValue();
  76.                 label2n.setText(opisn());
  77.                 komponent.repaint();
  78.             }
  79.         });
  80.        
  81.         //kolorki
  82.         JMenuBar mb = new JMenuBar();
  83.        
  84.         setJMenuBar(mb);
  85.         JMenu m = new JMenu("kolor");
  86.         mb.add(m);
  87.         JMenuItem mi = new JMenuItem("czerwony");
  88.         m.add(mi);
  89.        
  90.         mi.addActionListener(new ActionListener() {
  91.            
  92.             @Override
  93.             public void actionPerformed(ActionEvent e) {
  94.                 kolor=Color.RED;
  95.                 komponent.repaint();
  96.             }
  97.         });
  98.        
  99.         mi = new JMenuItem("niebieski");
  100.         m.add(mi);
  101.        
  102.         mi.addActionListener(new ActionListener() {
  103.            
  104.             @Override
  105.             public void actionPerformed(ActionEvent e) {
  106.                 kolor=Color.BLUE;
  107.                 komponent.repaint();
  108.             }
  109.         });
  110.         m.add(mi);
  111.        
  112.         mi = new JMenuItem("zielony");
  113.         mi.addActionListener(new ActionListener() {
  114.            
  115.             @Override
  116.             public void actionPerformed(ActionEvent e) {
  117.                 kolor=Color.GREEN;
  118.                 komponent.repaint();
  119.             }
  120.         });
  121.         m.add(mi);
  122.        
  123.         setVisible(true);
  124.        
  125.     }
  126.  
  127.     private String opisn() {
  128.         return n+" ";
  129.     }
  130.  
  131.     public static void main(String[] args) {
  132.         EventQueue.invokeLater(new Runnable() {
  133.             @Override
  134.             public void run() {
  135.                 new kolos("Kreski");
  136.             }
  137.         });
  138.     }
  139.  
  140. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top