Advertisement
Guest User

Untitled

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