Salam,
J'ai un petit probléme : la methode setExtendedState() ne marche pas sous linux par contre sous windows ça marche bien ???
Merci d'avance !Code:
1
2
3 setExtendedState(JFrame.MAXIMIZED_BOTH); setVisible(true);
Version imprimable
Salam,
J'ai un petit probléme : la methode setExtendedState() ne marche pas sous linux par contre sous windows ça marche bien ???
Merci d'avance !Code:
1
2
3 setExtendedState(JFrame.MAXIMIZED_BOTH); setVisible(true);
Slt,
t'es sure d'avoir la meme version de jre sur les 2 systemes d'exploitations ??
Salam,
Oui je travail avec la mm version de JBuilder ( Donc la mm JRE )sous les deux OS !!
ca marche pas chez moi non plus :-)
en plus Toolkit.getDefaultToolkit().isFrameStateSupported(JFrame.MAXIMIZED_BOTH) renvoi true
je crois que c'est a cause des Desktop Manager sous Linux...
fais comme ca
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 import java.awt.Toolkit; import java.text.MessageFormat; import javax.swing.JFrame; /** * Created by IntelliJ IDEA. * User: bebe * Date: 17-Jun-2006 * Time: 19:57:12 * To change this template use File | Settings | File Templates. */ public class MaximizeFrameTest { public static void main(String[] args) { System.out.println(MessageFormat.format("Is the maximized mode supported ?{0}", Toolkit.getDefaultToolkit().isFrameStateSupported(JFrame.MAXIMIZED_BOTH))); JFrame myFrame = new JFrame("Maximize test..."); /* int frameState = myFrame.getExtendedState(); // Set the maximized bits frameState |= JFrame.MAXIMIZED_BOTH; myFrame.setExtendedState(frameState); */ myFrame.setSize(Toolkit.getDefaultToolkit().getScreenSize()); myFrame.pack(); myFrame.setVisible(true); } }
Mouaip c'est un bug connu sous linux, de même que le pour récupérer la taille de l'écran moins celle de la barre des tâches, je suppute qu'il devraient faire ça pour chaque windowmanager différent et quand tu en vois le nombre (KDE,Gnome, FluxBox, IceWM, CDE, Enlightenment...) c'est un peu la guerre.
Ensuite faudrait peut être qu'ils suivent des initiatives comme freedesktop qui essaye de mettre en place des standards pour les bureaux linux
Aie je viens de voir ce topic et je ce que je me tue à develloper en ce moment sous windows va donc bugger sous linux... pas de bol je doute que mes profs le fasse tourner sous windows...
C'est sure de marcher avec le code de bbclone ? (sur un Ubuntu en Gnome ou KDE)
> C'est sure de marcher avec le code de bbclone ? (sur un Ubuntu en Gnome ou KDE)
je suis sous Ubuntu Dapper ;-)
je peut te confirmer que sa marche.
Merci bbclone ;)
Salam,
bbclone j'ai testé ton code ss windows et ça marche pas !! Pareceque moi je veux que mon programme tourne sous les 2 OS (Windows et Linux) .
A priori pour la taille de la barre des taches il faut voir du cote de Toolkit.getScreenInsets(GraphicsConfiguration gc) en utilisant la GraphicsConfiguration par defaut (l'ecran principal donc) ; cela permet entre autre d'eviter faire des suppositions "en dur" sur la taille de la barre des taches (utile pour les gens comme moi qui l'ont en mode auto-hidable ou au contaire pour ceux qui ont une police de charactere plus grosse que la normale).
Apres effectivement il faut faire des tests pour voir si ca marche correctement avec la pletore de window managers sous Linux et UNIX.