JFrame frame = new JFrame();
ToolKit kit = frame.getToolkit();
Dimension size = kit.getScreenSize();
Ett enkelt sätt att få reda på den upplösning som används just nu.
int width = size.width;
int height = size.height;
För mer avancerad kontroll och inställningar av skärmens upplösningar så kika på klasserna GraphicsConfiguration, GraphicsDevice och DisplayMode. Se Java API docs.
Med hjälp av bl a dessa klasser så kan du ändra på upplösningen, bitdjup samt refresh-rate.
Kör denna kod:
---
import java.awt.*;
import javax.swing.*;
public class ChangeDepth
{
JFrame frame;
GraphicsEnvironment ge;
GraphicsConfiguration gc;
GraphicsDevice[] devices;
GraphicsDevice gd;
DisplayMode[] modes;
DisplayMode dm;
public ChangeDepth()
{
frame = new JFrame();
ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
devices = ge.getScreenDevices();
for(int i = 0; i \< devices.length; ++i)
{
gd = devices*;
modes = gd.getDisplayModes();
for(int k = 0; k \< modes.length; ++k)
{
dm = modes\[k\];
System.out.println("Width: " + dm.getWidth() + ", Height: " + dm.getHeight() + ", Bit depth: " + dm.getBitDepth() );
}
}
}
public static void main(String\[\] args)
{
new ChangeDepth();
}
}
---
Koden listar upp alla upplösningar somdin dator klarar av.*