1

I currently have the code below.

public class cRunningView extends JInternalFrame {

    static final int xOffset = 30, yOffset = 30;
  public cRunningView() {
    // Get name;
    super("RUNNING", true, // resizable
            false, // closable
            true, // maximizable
            true);// iconifiable

    System.out.println("##" + "p.getName()");
    // ...Then set the window size or call pack...
    setSize(500, 200);

    // Set the window's location.
    setLocation(xOffset * 0, yOffset * 0);


    JScrollPane scrollPane = new JScrollPane();

}

}

My aim is to have a JInternalFrame with a number of buttons and a box/rectangle on half of the screen.

Within this box i want to be able to draw graphics for e.g. Draw oval from x,y to x,y.

I've tried looking at examples but see to get my self more confused than i did to begin. All my code is working e.g. Showing the main GUI window and my internal frame opening but i cant seem to find a good tutuirol/starting point to do graphics within a JScrollPane.

Please note i dont have to use a JScrollPane i just thought i would be a good idea cause it would give the graphics a border round it.

Before anyone moans about the question i think it is valid AND I DONT want the code to be given to me on a plate, i'd rather know and understand what im doing so i can advance my knowledge and be able to help others !

Do i have to make another class and do JScrollPane myPane = JScrollPane(graphicsClass)

then do everything with paint() then or is there someway to create a graphic and do it without another class?

If i do :

JScrollPane scrollPane = new JScrollPane();
    Graphics temp = scrollPane.getGraphics();
    temp.setColor(new Color(1, 22, 33));
    temp.fillOval(60, 0, 120, 60);
    scrollPane.paint(temp);

It throws errors.

Thanks

1
  • Do you also want to provide auto scrolling option if the size of graphics you drawing exceeds JInternalFrame size ? Commented Feb 7, 2013 at 19:46

1 Answer 1

3

You don't do Graphics in a scrollpane. Also, don't use the getGraphics() method to do custom painting.

Custom painting is done by overriding the paintComponent() method of a JPanel or JComponent. Then if required you can add the panel to a scrollpane and add the scrollpane to your frame. Don't forget to set the preferred size of the panel so scrolling will work.

Start by reading the Swing tutorial on Custom Painting.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.