Estoy desarrollando una aplicación para el cual necesito DPI la pantalla .. he comprobado algunos foros y consiguió un fragmento de código que va de la siguiente manera:¿Cómo obtener la pantalla DPI en Java?
Dimension screen = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
System.out.println("screen width: "+screen.getWidth());
System.out.println("screen height: "+screen.getHeight());
int pixelPerInch=java.awt.Toolkit.getDefaultToolkit().getScreenResolution();
System.out.println("pixelPerInch: "+pixelPerInch);
double height=screen.getHeight()/pixelPerInch;
double width=screen.getWidth()/pixelPerInch;
double x=Math.pow(height,2);
double y=Math.pow(width,2);
Pero cualquiera que sea el valor de la resolución de la pantalla, la pixelPerInch
el valor sigue siendo el mismo en 96. ¿Cuál es el problema con el código?
que tiene otro código swt
por la misma cosa que va de la siguiente manera:
import org.eclipse.swt.graphics.Device;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class MainClass {
public void run() {
Display display = new Display();
Shell shell = new Shell(display);
shell.setText("Display Device");
createContents(shell);
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
private void createContents(Shell shell) {
Device device = shell.getDisplay();
System.out.println("getBounds(): "+ device.getBounds());
System.out.println("getClientArea(): "+device.getClientArea());
System.out.println("getDepth(): "+device.getDepth());
System.out.println("getDPI(): "+device.getDPI());
device.setWarnings(true);
System.out.println("Warnings supported: "+device.getWarnings());
}
public static void main(String[] args) {
new MainClass().run();
}
Pero de nuevo aquí también cualquiera que sea mi resolución de la pantalla, la getDPI()
devuelve el mismo valor de 96 .. lo que va mal? ? ¿Está mal mi código o lo estoy interpretando de manera incorrecta?
posible duplicado de [¿Cómo detectar "correctamente" el DPI de la pantalla con Java?] (http://stackoverflow.com/questions/4707756/how-torectually-detect-dpi-of-display-with -java) – uckelman