Advertisement
Guest User

Untitled

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