Blackvein
Blackvein

Reputation: 558

Java: JFrame resolution?

I made a program using several JFrames on a Mac, and the resolution was okay, everything fit the screen properly. But when I run the program on my PC the JFrames are way too large and go right off the screen.

My question is: Is it possible to set the universal resolution on a JFrame so that all the components are drawn a little smaller? I would rather do that then go through the entire program and resize every component manually.

Upvotes: 3

Views: 1614

Answers (3)

Moh Mah
Moh Mah

Reputation: 2055

I had encountered a problem like your's and I solved it with a JScrollbar! Here is how to make your JFrame scrollable.

Upvotes: 0

mKorbel
mKorbel

Reputation: 109815

I made a program using several JFrames

wrong use CardLayout instead, only if is there real reason use JDialog or JOptionPane with parent and (JDialog) maybe with setModal(true) to the single JFrame

But when I run the program on my PC the JFrames are way too large and go right off the screen

Is it possible to set the universal resolution on a JFrame so that all the components are drawn a little smaller?

use proper LayoutManager, sure not easy job, required real effort

I would rather do that then go through the entire program and resize every component manually.

use proper LayoutManager,

  • for better help sooner edit your question with SSCCE demonstrated your issue with different screen size betweens PC's or platforms

Upvotes: 5

Thomas Uhrig
Thomas Uhrig

Reputation: 31605

As far as I know you can't change the resolution of Swing components. But you can get the current screen size from the system (here's an example). With this screen size you can adjust your components.

If you are coding your GUI wisely, you wouldn't have to resize all your components of your GUI manually. Instead, a top-level JPanel (or JFrame or what ever) will adjust its size due to its contained components (e.g. with something like pack()). So only a few components will have a hard coded size. This size could also be externalized into a class or a file that is easy to edit.

Upvotes: 4

Related Questions