Advertisement
Guest User

Untitled

a guest
Jan 27th, 2020
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.08 KB | None | 0 0
  1. import java.awt.BorderLayout;
  2. import java.awt.Dimension;
  3. import java.awt.EventQueue;
  4. import java.awt.Graphics;
  5. import java.awt.Toolkit;
  6.  
  7. import javax.swing.*;
  8. import javax.swing.event.ChangeEvent;
  9. import javax.swing.event.ChangeListener;
  10.  
  11.  
  12. public class p08 extends JFrame {
  13. private int n=5;
  14. private MyComponent komponent;
  15. class MyComponent extends JComponent{
  16.  
  17. @Override
  18. protected void paintComponent(Graphics g) {
  19. int szer=getWidth();
  20. int wys=getHeight();
  21. g.drawLine(0, 0, szer/4, wys/4);
  22. g.drawLine(szer/4, wys/4, szer/4, wys*3/4);
  23. g.drawLine(szer/4, wys*3/4, szer*3/4, wys/4);
  24. g.drawLine(szer*3/4, wys/4, szer*3/4, wys*3/4);
  25. g.drawLine(szer*3/4, wys*3/4, szer, wys);
  26. for(int i=0;i<n;i++){
  27. int x=getWidth()*(i+1)/(n+1);
  28. if(x<szer/4)
  29. g.drawLine(x, 0, x, wys*(i+1)/(n+1));
  30. else if(x<szer*3/4)
  31. g.drawLine(x, 0, x, wys-wys*(i+1)/(n+1));
  32. else
  33. g.drawLine(x, 0, x, wys*(i+1)/(n+1));
  34. }
  35. for(int i=0;i<n;i++){
  36. int y=getHeight()*(i+1)/(n+1);
  37. if(y<wys/4)
  38. g.drawLine(szer*(i+1)/(n+1), y, 0, y);
  39. else if(y<wys*3/4){
  40. g.drawLine(0, y, szer/4, y);
  41. g.drawLine(szer-szer*(i+1)/(n+1), y, szer*3/4, y);
  42. }else
  43. g.drawLine(szer*(i+1)/(n+1), y, 0, y);
  44. }
  45. super.paintComponent(g);
  46. }
  47.  
  48. }
  49. public p08(String string) {
  50. super(string);
  51. Toolkit kit=Toolkit.getDefaultToolkit();
  52. Dimension d=kit.getScreenSize();
  53. setBounds(d.width/6, d.height/6, d.width*2/3, d.height*2/3);
  54. setDefaultCloseOperation(EXIT_ON_CLOSE);
  55. add(komponent=new MyComponent());
  56. JPanel panel=new JPanel(new BorderLayout());
  57. add(panel,BorderLayout.SOUTH);
  58. final JSlider slider=new JSlider(1,100,n);
  59. slider.addChangeListener(new ChangeListener() {
  60.  
  61. @Override
  62. public void stateChanged(ChangeEvent e) {
  63. n=slider.getValue();
  64. komponent.repaint();
  65. }
  66. });
  67. panel.add(slider);
  68. setVisible(true);
  69. }
  70.  
  71. public static void main(String[] args) {
  72. EventQueue.invokeLater(new Runnable() {
  73.  
  74. @Override
  75. public void run() {
  76. new p08("p08");
  77. }
  78. });
  79. }
  80.  
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement