IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Agents de placement/Fenêtres Java Discussion :

La taille de la barre des taches ?


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 10
    Par défaut La taille de la barre des taches ?
    Voila mon probleme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Toolkit tk = Toolkit.getDefaultToolkit();
        Dimension d = tk.getScreenSize();
        longueurFenetre = d.width;
        largeurFenetre = d.height;
        setSize(longueurFenetre, largeurFenetre);
    Admettons que la resolution de mon ecran soit 1024x768.
    Dans ce cas, longueurFenetre = 1024 et largeurFenetre = 768.
    Mais voila, je voudrais que largeurFenetre soit plutot egale a 768-(hauteur de la barre des taches), de telles sorte que ma fenetre s'arret pile a la barre des taches en bas de mon ecran.
    Y a t il un moyen de connaitre cette petite hauteur.
    Parceque si j'execute ce programme sous linux par exemple, tout mes petits boutons en bas de mon programme ne se voient plus !!!!
    En fait je voudrais savoir si l'on peut peut connaitre la place "occupable" !!, sachant que l'on ne peut occuper la place de la barre des taches
    Merci de m'aider
    Sylvain

  2. #2
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    peut-être avec
    getScreenInsets

    public Insets getScreenInsets(GraphicsConfiguration gc)
    throws HeadlessException

    Gets the insets of the screen.

    Parameters:
    gc - a GraphicsConfiguration
    Returns:
    the insets of this toolkit's screen, in pixels.
    Throws:
    HeadlessException - if GraphicsEnvironment.isHeadless() returns true
    Since:
    1.4
    See Also:
    GraphicsEnvironment.isHeadless()

  3. #3
    Membre expérimenté
    Avatar de JHelp
    Inscrit en
    Octobre 2002
    Messages
    185
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 185
    Par défaut
    Je confirme la réponse ci-dessus. Cela te donne les marges utiliser par les barres de tâches. en haut, à dorite, à gauche et en bas. En effet elle peut être placée dans l'un dés qutre positionement, et il peut y en avoir plusieurs. Avec ca, tu as tous les cas prévus.

  4. #4
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 10
    Par défaut
    ben j'ai bien cru que ca marchait aussi !!!!
    il me donnait une marge de 30 !! (bas=30, haut=0, gauche=0 et droite =0) j'etais super content..mais voila, sous linux, il me sors que des 0, donc comme s'il n'y avait pas de barre de taches !!
    Donc comment faire ??

  5. #5
    Membre expérimenté
    Avatar de JHelp
    Inscrit en
    Octobre 2002
    Messages
    185
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 185
    Par défaut
    Bon au lieu de mesurer l'écran avec : Toolkit.getDefaultToolkit().getScreenSize(), mesure le avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration().getBounds();
    En combinant ce rectangle et le getScreenInsets(), chez moi ça marche soucs win et linux

  6. #6
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 10
    Par défaut
    je te confirme JHelp que ca marche pas !!! ca marche parfaitement sous Windows, mais pas sous Linux.Je voudrais t'envoyer mon jeu pour que tu voie que ca marche pas.Aurais tu une adresse mail ou je pourrais te l'envoyer??

    voila le code que j'ai mis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Toolkit tk = Toolkit.getDefaultToolkit();
        Dimension d = tk.getScreenSize();
        Insets insets = tk.getScreenInsets(getGraphicsConfiguration());
        int width = (int) (d.getWidth() - insets.left - insets.right);
        int height = (int) (d.getHeight() - insets.top - insets.bottom);
        Dimension dimension = new Dimension(width, height);
        setSize(dimension);
        int x = (int) (insets.left);
        int y = (int) (insets.top);
        setLocation(x, y);

    Mais sou windows, ca marche tres bien, que je mette ma barre des taches a gauche de l'ecran, a droite, en haut, ou en bas.Mais pas sous linux.Sous linux, il me dit que
    insets.left = insets.right =insets.top=insets.bottom = 0 !!!!! quel que soit e redimensionnement de ma barre des taches.
    Merci de m'aider
    Sylvain

  7. #7
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    mais tu n'as pas fait ce que préconise JHelp ?

  8. #8
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 10
    Par défaut
    oui, a une chose pres :
    je n'ai pas mis le code suivant comme conseillé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration().getBounds();
    Mais j'ai mis le classique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dimension d = Toolkit.getScreenSize();
    Alors avant de me dire : "Fais ce que JHelp t'a dit !!!", je vais preciser une chose .

    Pour voir s'il y avait vraiment une difference entre ces 2 codes, j'ai taper le petit code suivant, que j'ai executer...sous linux bien sur !!!


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    import java.awt.GraphicsEnvironment;
    import java.awt.Rectangle;
    import java.awt.Insets;
    import javax.swing.JFrame;
    import java.awt.Toolkit;
    import java.awt.Dimension;
    import java.awt.Container;
    import javax.swing.JLabel;
     
    public class A{
     
      public A() {
     
        Rectangle r = GraphicsEnvironment.getLocalGraphicsEnvironment().
            getDefaultScreenDevice().
            getDefaultConfiguration().getBounds();
     
        Toolkit kit = Toolkit.getDefaultToolkit();
     
        System.out.println(r.width);
        System.out.println(r.height);
     
        //récupération de la taille de l'écran et des rebords
        Insets insets = kit.getScreenInsets(getGraphicsConfiguration());
        Dimension screen = kit.getScreenSize();
     
        System.out.println(screen.width);
        System.out.println(screen.height);
      }
     
      public static void main(String[] args) {
        A a = new A();
      }
    }

    Voici les resultats :

    r.width = 1024
    r.height = 768

    et....

    screen.width = 1024
    screen.height = 768


    => ca donne les memes resultats, donc en combinant avec mon "insets", (qui me donne que des 0 !!!!!!!!!! ), j'obtient le meme bordel !!!

    Merci[/code]

  9. #9
    Membre expérimenté
    Avatar de JHelp
    Inscrit en
    Octobre 2002
    Messages
    185
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 185
    Par défaut
    ha bon ?
    tu as quoi comme environement graphique linux (c viens peut-être de là) ? J'ai fait le test sous KDE et j'ai Mandrake
    Bon désolé de ne pas pouvoir t'aider plus.

  10. #10
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 10
    Par défaut
    moi aussi KDE et mandrake

  11. #11
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 95
    Par défaut
    Et pourquoi tu ne "maximises" pas tout simplement ta fenêtre ? Ce qui se passe quand on clique sur l'icône "agrandir" (ou "maximiser") dans la barre de tire. C'est ce que tu cherches à faire, non ?

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 137
    Par défaut
    Essaie ca :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     class CoucouFrame extends JFrame
    {
    ...
     this.setExtendedState(JFrame.MAXIMIZED_BOTH);
    ...
    }
    Ca prend par defaut toute la place dispo ( sous windows ca marche bien, mais je me rappelle plus sous linux )

  13. #13
    Membre confirmé Avatar de gKsam
    Profil pro
    Inscrit en
    Août 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 166
    Par défaut Et bien... 5 ans plus tard et toujours le même problème
    Cela fonctionne très bien sous windows.

    Mais sous Linux toujours pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    package test;
     
    import java.awt.GraphicsDevice;
    import java.awt.GraphicsEnvironment;
    import java.awt.Toolkit;
     
    import javax.swing.SwingUtilities;
     
    public class LauncherTest {
     
    	public static void main(String[] args) {
     
    		SwingUtilities.invokeLater(new Runnable(){
     
    			public void run() {
     
    				GraphicsEnvironment graphicsEnvironement = GraphicsEnvironment.getLocalGraphicsEnvironment();
    				GraphicsDevice screenDevice = graphicsEnvironement.getDefaultScreenDevice();
    				System.out.println(Toolkit.getDefaultToolkit().getScreenInsets(screenDevice.getDefaultConfiguration()));
    			}
    		});		
    	}
    }
    Ce qui est complètement hallucinant quand même.

  14. #14
    Membre confirmé Avatar de gKsam
    Profil pro
    Inscrit en
    Août 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 166
    Par défaut
    Je crois comprendre pourquoi ça ne fonctionne pas. En fait, ça fonctionne très bien.

    Le soucis, ne vient pas de Java. Le tableau de bord dans gnome est une application et ne fait pas partie du Bureau (vu qu'il en existe uns pléthore de ces petits bidules). Du coups, et bien Java ne le voit pas.

    je vais fureter du côté de l'api http://java-gnome.sourceforge.net/ voir un peu si l'on ne peu pas récupérer ça... même si ce n'est qu'un coups d'épée dans l'eau car cela ne fonctionnera pas avec KDE ou d'autre environnements graphiques.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/11/2008, 18h23
  2. Hauteur de la barre des taches
    Par wasch dans le forum C++Builder
    Réponses: 3
    Dernier message: 07/11/2003, 11h59
  3. Icone/bouton dans la barre des taches...
    Par dynobremo dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 28/02/2003, 12h05
  4. [VB6] [Système] Barre des taches
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 08/10/2002, 15h16
  5. desactiver la barre des taches
    Par naili dans le forum C++Builder
    Réponses: 7
    Dernier message: 02/09/2002, 17h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo