Advertisement
Guest User

Untitled

a guest
Jan 28th, 2020
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.92 KB | None | 0 0
  1.  
  2. import java.awt.BorderLayout;
  3. import java.awt.Color;
  4. import java.awt.Dimension;
  5. import java.awt.EventQueue;
  6. import java.awt.Graphics;
  7. import java.awt.Toolkit;
  8. import java.awt.event.ActionEvent;
  9. import java.awt.event.ActionListener;
  10.  
  11. import javax.swing.JComponent;
  12. import javax.swing.JFrame;
  13. import javax.swing.JLabel;
  14. import javax.swing.JMenu;
  15. import javax.swing.JMenuBar;
  16. import javax.swing.JMenuItem;
  17. import javax.swing.JPanel;
  18. import javax.swing.JSlider;
  19. import javax.swing.event.ChangeEvent;
  20. import javax.swing.event.ChangeListener;
  21.  
  22. public class something4 extends JFrame {
  23. MojKomponent komponent;
  24. int n=8;
  25. int rr=128;
  26. int gg=128;
  27. int bb=128;
  28. public class MojKomponent extends JComponent{
  29.  
  30. @Override
  31. protected void paintComponent(Graphics g) {
  32. g.setColor(new Color(rr,gg,bb));
  33. int w=getWidth();
  34. int h=getHeight();
  35. int ax=w/4;
  36. int bx=w*3/4;
  37. int ay=h/4;
  38. int by=h*3/4;
  39.  
  40.  
  41. g.drawLine(0, h/2, ax, ay);
  42. g.drawLine(ax, ay, ax, by);
  43. g.drawLine(ax, by, bx, ay);
  44. g.drawLine(bx, ay, bx, by);
  45. g.drawLine(bx, by, w, h/2);
  46.  
  47. for(int i=0;i<n;i++)
  48. {
  49. int y = h*(i+1)/(n+1);
  50. int x = w*(i+1)/(n+1);
  51. if(y<=ay) {
  52. g.drawLine(0, y, w, y);
  53. }
  54. else if(y<=h/2) {
  55. g.drawLine(0, y, w/2-x, y);
  56. g.drawLine(ax, y, w-x, y);
  57. g.drawLine(bx, y, w*3/2-x, y);
  58. }
  59. else if(y<=by) {
  60. g.drawLine(ax, y, w-x, y);
  61. g.drawLine(bx, y, w*3/2-x, y);
  62. }
  63. }
  64. for(int i=0;i<n;i++)
  65. {
  66. int y = h*(i+1)/(n+1);
  67. int x = w*(i+1)/(n+1);
  68. if(x<ax) {
  69. g.drawLine(x, h, x, h/2-y);
  70. }
  71. else if(x<bx) {
  72. g.drawLine(x, h, x, h-y);
  73. }
  74. else {
  75. g.drawLine(x, h, x, h*3/2-y);
  76. }
  77. }
  78.  
  79.  
  80.  
  81.  
  82.  
  83. super.paintComponent(g);
  84. }
  85.  
  86. }
  87.  
  88. public something4(String string) {
  89. super(string);
  90. setDefaultCloseOperation(EXIT_ON_CLOSE);
  91. Toolkit kit=Toolkit.getDefaultToolkit();
  92. Dimension d=kit.getScreenSize();
  93. setBounds(d.width/4,d.height/4,d.width/2,d.height/2);
  94. add(komponent=new MojKomponent());
  95. //panel na dole
  96. JPanel panel=new JPanel(new BorderLayout());
  97. add(panel,BorderLayout.SOUTH);
  98. //numer
  99. final JLabel label=new JLabel(getDesc());
  100. d=label.getPreferredSize();
  101. d.width*=1.5;
  102. panel.add(label,BorderLayout.EAST);
  103. //suwak
  104. final JSlider slider=new JSlider(1,20,n);
  105. slider.addChangeListener(new ChangeListener() {
  106.  
  107. @Override
  108. public void stateChanged(ChangeEvent e) {
  109. n=slider.getValue();
  110. label.setText(getDesc());
  111. komponent.repaint();
  112.  
  113. }
  114. });
  115. panel.add(slider);
  116.  
  117. //Menu
  118. JMenuBar mb= new JMenuBar();
  119. JMenu m = new JMenu("Plik");
  120. JMenuItem mi = new JMenuItem("Zamknij");
  121. mi.addActionListener(new ActionListener() {
  122.  
  123. @Override
  124. public void actionPerformed(ActionEvent e) {
  125. System.exit(0);
  126.  
  127. }
  128. });
  129. m.add(mi);
  130. mb.add(m);
  131. m = new JMenu("Kolor");
  132. mi = new JMenuItem("Czerwony");
  133. mi.addActionListener(new ActionListener() {
  134.  
  135. @Override
  136. public void actionPerformed(ActionEvent e) {
  137. rr=255;
  138. gg=0;
  139. bb=0;
  140. komponent.repaint();
  141.  
  142. }
  143. });
  144. m.add(mi);
  145. mb.add(m);
  146. mi = new JMenuItem("Zielony");
  147. mi.addActionListener(new ActionListener() {
  148.  
  149. @Override
  150. public void actionPerformed(ActionEvent e) {
  151. rr=0;
  152. gg=255;
  153. bb=0;
  154. komponent.repaint();
  155.  
  156. }
  157. });
  158. m.add(mi);
  159. mi = new JMenuItem("Niebieski");
  160. mi.addActionListener(new ActionListener() {
  161.  
  162. @Override
  163. public void actionPerformed(ActionEvent e) {
  164. rr=0;
  165. gg=0;
  166. bb=255;
  167. komponent.repaint();
  168.  
  169. }
  170. });
  171. m.add(mi);
  172.  
  173. mi = new JMenuItem("Czarny");
  174. mi.addActionListener(new ActionListener() {
  175.  
  176. @Override
  177. public void actionPerformed(ActionEvent e) {
  178. rr=0;
  179. gg=0;
  180. bb=0;
  181. komponent.repaint();
  182.  
  183. }
  184. });
  185. m.add(mi);
  186. m.add(mi);
  187. setJMenuBar(mb);
  188. setVisible(true);
  189. }
  190.  
  191. private String getDesc() {
  192.  
  193. return "n="+n;
  194. }
  195.  
  196. public static void main(String[] args) {
  197. EventQueue.invokeLater(new Runnable() {
  198.  
  199. @Override
  200. public void run() {
  201. new something4("okno ");
  202.  
  203. }
  204. });
  205.  
  206. }
  207.  
  208. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement