Advertisement
Guest User

Untitled

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