Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
FullScreenAnwendung die Werte x und y auslesen und verwenden
public class Screen extends JPanel implements Runnable{
...
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension scrDim= tk.getScreenSize();
public Screen(){
// Fullscreen
this.setPreferredSize(new Dimension(scrDim));
JFrame frame = new JFrame("");
frame.setLocation(0,0);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setUndecorated(true);
frame.setIgnoreRepaint(true);
frame.setResizable(false);
frame.add(this);
frame.pack();
frame.setVisible(true);
doInitializations();
int w=+getSize().width;
int h=+getSize().height;
}// ende Screen()
Hallo Leute,
ich hab jetzt alles hin und her geschoben und versucht und gemacht... jedoch kein Erfolg.
Wie oben zu sehen ist, hab ich ein FullScreenFenster gebaut. Über die ToolBox lasse ich mir über tk.getScreenSize() meine aktuelle Auflösung von WIndows ausgeben. "srcDim" ist somit ja die Auflösung bekannt.
Wenn ich "srcDim" nun in der Console oder als String ausgeben möchte erhalte ich auch meine Screenwerte...
Java:
public void paintComponent(Graphics g) {
super.paintComponent(g);
setBackground(Color.black);
g.setColor(Color.white);
...
g.drawString("Auflösung: "+getSize().width+"x"+getSize().height,20,40);//Auflösung
g.drawString("esc for exit... ",20,60); // Exit Hinweis
g.drawString("Versuch: "+scrDim, 20, 100); // Zeigt mir die Werte inkl. Pakete usw...
}
Jetzt wollte ich diese Werte aber in einer anderen Klasse nochmal aufrufen...
Hab die Klasse Screen extended und versucht dann die Werte in w und h zu speichern...
Java:
AndereKlasse extends Screen{
w=Screen.getSize().width; // Dass das nicht geht, muss ich euch ja nicht sagen xD
h=Screen.getSize().height;
usw....
}
Wie soll ich das sonst anstellen? Hab in Screen.class auch schon versucht die Werte via getSize in einer public konstante zu deklarieren (wenn man das so sagt)... aber kommt dann immer nur 0x0 raus...
Wozu wird denn die Grösse noch gebraucht? Ich verwende in einigen Anwendungen diese Methode:[Java]public final boolean setFullscreen(boolean sw)
{
GraphicsDevice gd = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
if(fullscreen ^ sw) {
if(sw) {
if(fullscreen = gd.isFullScreenSupported()) {
top.dispose();
top.setUndecorated(true);
gd.setFullScreenWindow(top);
}
} else {
fullscreen = false;
top.dispose();
gd.setFullScreenWindow(null);
top.setUndecorated(false);
top.setVisible(true);
}
}
return fullscreen;
}[/code]"top" ist dabei natürlich wie der Name schon sagt das Anwendungsfenster (Frame oder JFrame). "fullsreen" speichert den aktuellen zustand des Fensters. "getSize()" sowie "getWidth()" und / oder "getHeight()" auf das Fenster liefern auch die von dir erwarteten Werte.