setLocation problem with swing!!!

A

asd

Hi all,

I am doing some kind of home work using swing. Unfortunately I am having
problems with setLocation() function. I know it is a bad idea to use
setPosition and I know I should use Layout manager instead of doing that.
Still I would like to do it with setLocation.

Here is my problem: I am trying to position a button on a given pixel on the
screen. To do that I am using setLocation function of the JButton.

Here is what I did:
Created a JFrame,
Created a JPanel, and added it to frame.
Created a JButton, and added it to panel.
Called setLocation function of the button. It is not working. The button is
just created in the center of the window, where layout manager places it.

What should I do to get it work?

I would really appreaciate it if you could help me with my problem.
Sincerely yours.
 
K

Knute Johnson

asd said:
Hi all,

I am doing some kind of home work using swing. Unfortunately I am having
problems with setLocation() function. I know it is a bad idea to use
setPosition and I know I should use Layout manager instead of doing that.
Still I would like to do it with setLocation.

Here is my problem: I am trying to position a button on a given pixel on the
screen. To do that I am using setLocation function of the JButton.

Here is what I did:
Created a JFrame,
Created a JPanel, and added it to frame.
Created a JButton, and added it to panel.
Called setLocation function of the button. It is not working. The button is
just created in the center of the window, where layout manager places it.

What should I do to get it work?

I would really appreaciate it if you could help me with my problem.
Sincerely yours.

From the docs:

JPanel

public JPanel()

Creates a new JPanel with a double buffer and a flow layout.

So it puts the button where it wants to. Just create the JPanel with a
null layout manager. Then you can put it anywhere you want. Of course
if that's all you do you won't be able to see the JButton because it
doesn't have a size. So call setSize(button.getPreferredSize()) to make
it appear correctly, more or less.
 
A

asd

Knute Johnson said:
From the docs:

JPanel

public JPanel()

Creates a new JPanel with a double buffer and a flow layout.

So it puts the button where it wants to. Just create the JPanel with a
null layout manager. Then you can put it anywhere you want. Of course if
that's all you do you won't be able to see the JButton because it doesn't
have a size. So call setSize(button.getPreferredSize()) to make it appear
correctly, more or less.


Hello Knute,

I appreciate your help. It worked.

I tried setting layout manager to null before posting here. I was unable to
locate the button on the frame.
Thanx for the detailed information about the size of the button.
Sincerely.
 
K

Knute Johnson

asd said:
Hello Knute,

I appreciate your help. It worked.

I tried setting layout manager to null before posting here. I was unable to
locate the button on the frame.
Thanx for the detailed information about the size of the button.
Sincerely.

Those suckers are hard to find when their size is 0x0 :).
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,767
Messages
2,569,570
Members
45,045
Latest member
DRCM

Latest Threads

Top