Advertisement
Guest User

d

a guest
Dec 18th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.04 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement