Advertisement
Guest User

Mati

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