Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.BorderLayout;
- import java.awt.Dimension;
- import java.awt.EventQueue;
- import java.awt.Graphics;
- import java.awt.Toolkit;
- import javax.swing.*;
- import javax.swing.event.ChangeEvent;
- import javax.swing.event.ChangeListener;
- public class p08 extends JFrame {
- private int n=5;
- private MyComponent komponent;
- class MyComponent extends JComponent{
- @Override
- protected void paintComponent(Graphics g) {
- int szer=getWidth();
- int wys=getHeight();
- g.drawLine(0, 0, szer/4, wys/4);
- g.drawLine(szer/4, wys/4, szer/4, wys*3/4);
- g.drawLine(szer/4, wys*3/4, szer*3/4, wys/4);
- g.drawLine(szer*3/4, wys/4, szer*3/4, wys*3/4);
- g.drawLine(szer*3/4, wys*3/4, szer, wys);
- for(int i=0;i<n;i++){
- int x=getWidth()*(i+1)/(n+1);
- if(x<szer/4)
- g.drawLine(x, 0, x, wys*(i+1)/(n+1));
- else if(x<szer*3/4)
- g.drawLine(x, 0, x, wys-wys*(i+1)/(n+1));
- else
- g.drawLine(x, 0, x, wys*(i+1)/(n+1));
- }
- for(int i=0;i<n;i++){
- int y=getHeight()*(i+1)/(n+1);
- if(y<wys/4)
- g.drawLine(szer*(i+1)/(n+1), y, 0, y);
- else if(y<wys*3/4){
- g.drawLine(0, y, szer/4, y);
- g.drawLine(szer-szer*(i+1)/(n+1), y, szer*3/4, y);
- }else
- g.drawLine(szer*(i+1)/(n+1), y, 0, y);
- }
- super.paintComponent(g);
- }
- }
- public p08(String string) {
- super(string);
- Toolkit kit=Toolkit.getDefaultToolkit();
- Dimension d=kit.getScreenSize();
- setBounds(d.width/6, d.height/6, d.width*2/3, d.height*2/3);
- setDefaultCloseOperation(EXIT_ON_CLOSE);
- add(komponent=new MyComponent());
- JPanel panel=new JPanel(new BorderLayout());
- add(panel,BorderLayout.SOUTH);
- final JSlider slider=new JSlider(1,100,n);
- slider.addChangeListener(new ChangeListener() {
- @Override
- public void stateChanged(ChangeEvent e) {
- n=slider.getValue();
- komponent.repaint();
- }
- });
- panel.add(slider);
- setVisible(true);
- }
- public static void main(String[] args) {
- EventQueue.invokeLater(new Runnable() {
- @Override
- public void run() {
- new p08("p08");
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement