mail@pastecode.io avatar
3 years ago
2.4 kB
import javax.swing.*;

public class Parker
    public static void main(String[] args)

        TheWindow w = new TheWindow();
        w.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //X wont close the window with out this line


import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;

public class TheWindow extends JFrame
    private JSlider slider; //declare slider
    private drawRect myPanel; //declare/ create panel

    public TheWindow()
        super("Slider Example"); //make title
        myPanel = new drawRect();
        myPanel.setBackground(Color.cyan); //change background color

        slider = new JSlider(SwingConstants.VERTICAL, 0, 315, 10);// restrains the slider from scaling square to 0-300 pixels
        slider.setMajorTickSpacing(20); //will set tick marks every 10 pixels
        slider.setPaintTicks(true); //this actually paints the ticks on the screen

            new ChangeListener()
                public void stateChanged(ChangeEvent e)
                    myPanel.setD(slider.getValue()); //Wherever you set the slider, it will pass that value and that will paint on the screen


        add(slider, BorderLayout.WEST); //similar to init method, adds slider and panel to GUI
        add(myPanel, BorderLayout.CENTER);


import java.awt.*;
import javax.swing.*;

public class drawRect extends JPanel

    private int d = 20; //this determines the beginning size of the rect. 

    public void paintComponent(Graphics g)//paints obj on the screen
        super.paintComponent(g); //prepares graphic object for drawing

       // ImageIcon i = new ImageIcon("A:\\Capture.png"); //location of Image
       // i.paintIcon(this, g, d, d); //paints icon on screen

        int originX = getWidth() / 2; //this is subtracting half of 'd' from the center point to scale it form the center
        int originY = getHeight() / 2;

        int x = originX - (d / 2);
        int y = originY - (d / 2);
        System.out.println(x + "x" + y);

        g.fillRect(x, y, d, d); //paints rectangle on screen
        //x , y, width, height