Advertisement
Guest User

Untitled

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