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

AWT/Swing Java Discussion :

Savoir sur quel OS je suis


Sujet :

AWT/Swing Java

  1. #1
    Membre actif Avatar de Goupo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 505
    Points : 229
    Points
    229
    Par défaut Savoir sur quel OS je suis
    Salut,

    Voilà j'ai une appli Java munie d'une interface swing et j'ai un soucis.

    J'ai donné à ma JFrame la taille de l'écran avec ma fonction plein Ecran.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    private void pleinEcran() {
    		Toolkit tk = this.getToolkit();
    		Dimension screenSize = tk.getScreenSize();
    		this.setSize(screenSize);
    	}
    Sous Linux, RAS.

    Sous Windows (Vista ) la taille de l'écran ne prend pas en compte la barre des tâches, ce qui fait que le bas de mon appli est caché par celle-ci.
    Il faut savoir que je ne peux pas me permettre de laisser cette partie "non visible" car elle est "vitale". En effet, celle-ci contient des onglets d'un JTabbedPane. (et il n'est pas question de les changer de place puisque cet emplacement m'est imposé)

    Mes questions :
    1. Malgré l'indépendance de Java vis a vis des OS, y a-t-il une classe qui permette de savoir sous quel OS l'application se trouve pour diminiuer la hauteur pour éviter la barre des tâches sous Windows?
    2. Est-il possible de dire à l'appli de se mettre au premier plan? Et ce premier plan sera-t-il avant celui de la barre des tâches?
    3. N'y aurait-il pas un autre moyen de mettre une appli en plein écran?


    Merci d'avance.

    Windaube Sucks, Linux Rules

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Citation Envoyé par Goupo Voir le message
    Mes questions :
    1. Malgré l'indépendance de Java vis a vis des OS, y a-t-il une classe qui permette de savoir sous quel OS l'application se trouve pour diminiuer la hauteur pour éviter la barre des tâches sous Windows?
    2. Est-il possible de dire à l'appli de se mettre au premier plan? Et ce premier plan sera-t-il avant celui de la barre des tâches?
    3. N'y aurait-il pas un autre moyen de mettre une appli en plein écran?
    1.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.getProperty("os.name");
    2. et 3. Aucune idée... je ne suis pas un expert des IHM Swing
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Regarde du côté de maJFrame.setExtendedState(JFrame.MAXIMIZED_BOTH); (en fait, ça provient de java.awt.Frame, mais grâce à l'héritage, tu as tout comme il faut pour JFrame )

    Généralement avec cette méthode, c'est l'inverse : ça marche nickel sur windows, mais pas sur linux

    En combinant les deux, tu pourras avoir ce qu'il faut comme il faut ^^

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Goupo Voir le message
    Malgré l'indépendance de Java vis a vis des OS, y a-t-il une classe qui permette de savoir sous quel OS l'application se trouve pour diminiuer la hauteur pour éviter la barre des tâches sous Windows?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.getProperty("os.name");
    Par contre cela te retourne une chaine de caractère qu'il faut parser...

    Citation Envoyé par Goupo Voir le message
    Est-il possible de dire à l'appli de se mettre au premier plan? Et ce premier plan sera-t-il avant celui de la barre des tâches?
    setAlwaysOnTop() à partir de Java 1.5 (attention ce n'est pas supporté par tous les systèmes - voir la javadoc).

    Citation Envoyé par Goupo Voir le message
    N'y aurait-il pas un autre moyen de mettre une appli en plein écran?
    Tu as plusieurs solutions :



    a++

  5. #5
    Membre actif Avatar de Goupo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 505
    Points : 229
    Points
    229
    Par défaut
    Eh bien merci!

    Donc, je pense qu'en attendant, ça suffira de placer une condition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    String OSName = os.name;
    if (OSName.equals("Windaube")) {
    maJFrame.setExtendedState(JFrame.MAXIMIZED_BOTH);
    } else {
    pleinEcran();
    }
    Le mieux à vue de nez restant (Quand j'aurai le temps de la lire) :
    Comment faire une application ou un jeu en plein écran ?

  6. #6
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par dingoth Voir le message
    Généralement avec cette méthode, c'est l'inverse : ça marche nickel sur windows, mais pas sur linux
    D'après ce message il faut faire le setExtendedState après le setVisible...

    a++

  7. #7
    Membre actif Avatar de Goupo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 505
    Points : 229
    Points
    229
    Par défaut
    Bien reçu.
    Merci.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 64
    Points : 72
    Points
    72
    Par défaut
    Citation Envoyé par Goupo Voir le message
    Eh bien merci!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (OSName.equals("Windaube")) {
    Cà marchera pas... C'est "Whine d'oz" la bonne or to graffe

  9. #9
    Membre actif Avatar de Goupo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 505
    Points : 229
    Points
    229
    Par défaut
    Hum, hum!



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

Discussions similaires

  1. Réponses: 5
    Dernier message: 18/01/2011, 12h10
  2. [MDI] Savoir sur quel child l'utilisateur a cliqué
    Par MiJack dans le forum Composants VCL
    Réponses: 9
    Dernier message: 24/01/2006, 16h25
  3. [C#] Comment savoir sur quel onglet on est ds 1 TabControl ?
    Par Gonat dans le forum Windows Forms
    Réponses: 3
    Dernier message: 12/10/2005, 23h17
  4. Formulaire -> pour savoir sur quel bouton on a cliqué.
    Par Thierry8 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 17/09/2005, 18h53
  5. Savoir sur quel boutton on a cliqué ...
    Par Fofone dans le forum Composants VCL
    Réponses: 8
    Dernier message: 10/03/2003, 16h12

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