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 :

Supression de barre de titre sous Linux


Sujet :

AWT/Swing Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Par défaut [Résolu]Supression de barre de titre sous Linux
    Salut à tous,

    j'ai un petit soucis pour une appli que j'ai développé sous Windows.

    J'utilise la jdk 5, update 11, mon IHM est une JFrame, et celle ci utilise la méthode setundecorated pour supprimer la barre de titre.

    Sous Windows cela donne ceci:


    le probléme est que sous Linux, cela done ceci:




    Quelqu'un aurait il une idée qui me permettrait de supprimer la barre de titre de la JFrame sous Linux. Pour info, j'ai exactement le même soucis avec une JDialog.

    Voici le bout de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    		this.setTitle("¨`·. JBandeau .·´¨");
    		this.setIconImage(Images.loadImages(this, "img/logo2.png", _eclipse));
     
    		this.setUndecorated(true);
    		this.setResizable(false);
     
    		this.addMouseListener(this);
    merci d'avance a qui saura me répondre....

  2. #2
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Bonjour,

    il y en a encore un autre : la JWindow, qui n'a pas de barre de titre.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Par défaut
    Oui je sais, mais je ne peux pas me permettre de modifier l'ensemble de mon appli à cet instant. C'est pourquoi je recherche la solution pour une JFrame....

  4. #4
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Pourtant il me semble que les deux classes se ressemblent beaucoup ... Les deux héritent de Window, et sont des RootpaneContainers. Le remplacement devrait être assez rapide.

    D'autant plus que pour garder une JFrame, je ne vois pas trop.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Par défaut
    J'essairais donc, mais le problème est quand version de dev, je me sert de la barre de titre, mais bon ce n'est pas indispensable je pense....
    Je te tiens au courant, si y a d'autre idée je suis preneur quand même.....

  6. #6
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Je m'étonne : moi j'utilise ce setUndecorated et ça fonctionne très bien.

    Peux-tu nous faire un petit bout de programme independant que je voye ça ?

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Par défaut
    Ok je vais m'en occuper

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Par défaut
    Donc voilà j'ai écrit un code tout simple qui ne fait que lancer une JFrame, sans composant ni rien, elle récupère juste la taille de l'écran et créer une JFrame sans barre de titre, mais avec un titre (pour la barre des tâches):

    Tu peux copier ce code dans ton Editeur Java et le lancer:

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
    package com.jerem.test;
     
     
    import java.awt.Dimension;
    import java.awt.Toolkit;
     
    import javax.swing.JFrame;
     
     
    public class TestUndecoratedLinux extends JFrame {
     
    	/**
             * COMMENTE_MOI - Type : <b>long</b> - Defaut : <b>VALEUR</b>
             */
    	private static final long serialVersionUID = -4083769830705573839L;
    	private int _coord_Y;
    	private int _coord_X;
    	private int _taille_X;
    	private int _taille_Y;
     
     
    	public TestUndecoratedLinux()  {
     
     
    		this.setTitle("¨`·. JBandeau .·´¨");
     
    		this.setUndecorated(true);
    		this.setResizable(false);
     
    		Toolkit kit = Toolkit.getDefaultToolkit();
    		Dimension screenSize = kit.getScreenSize();
    		_coord_Y = screenSize.height;
    		_coord_X = screenSize.width;
     
    		_taille_X = (int) (_coord_X * 18 / 100);
    		_taille_Y = (int) (_coord_Y * 25 / 100);
     
     
    		this.setBounds((_coord_X * 50 / 100) - (_taille_X / 2),
    				(_coord_Y * 50 / 100) - (_taille_Y / 2), _taille_X, _taille_Y);
     
    		/*
    		 * On récupére le bord haut gauche
    		 */
    		_coord_X = this.getBounds().x;
    		_coord_Y = this.getBounds().y;
     
     
     
    		this.setVisible(true);
    	}
     
     
    	/**
             * COMMENTE_MOI 
             *
             * <br /><br />
             * Methode ajoute le 20 avr. 07.<br />
             * @param args
             */
    	public static void main(String[] args) {
    		new TestUndecoratedLinux();
    	}
     
    }

    Tu peux télécharger le fichier jar, c'est celui-ci que je lance sur Windos ou Linux avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -jar Independant.jar
    Tu le trouvera Ici :LE FICHIER JAR


    J'ai donc refais le test, sous Windows je le lancer bien sans barre de titre, tu as un carré gris qui apparait au centre de l'écran.
    Pour Linux, tu as le carré gris, mais dans une fentre!!!!

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Par défaut
    Précision :
    Sous Windows j'utilise la version jdk 5 update 11
    Sous linux j'ai testé avec les version 1.5.0_04 et 1.6.0-b105.

    J'ai essayé de réduire au minimum mes fonctions en virant les méthodes Toolkit et en ne gardant que le setUndecorated et setBound et setVisible, et je suis toujours face au même problème.

    Pour info, j'ai remarqué que la méthode setResizable ne fonctionne pas non plus sous Linux. Même quand je ne garde que celle-ci.

  10. #10
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2006
    Messages : 34
    Par défaut
    Salut à tous ,
    Bon apparemment c'est un problème de linux, car moi aussi j'ai eu pas mal de problème de ce genre ( des programmes qui fonctionnent bien sous windows, mais pas sur linux) , moi j'utilise Fedora core 6 et je code sur le java et Eclipse qui sont installés par défaut dans Fedora , mais après , ils m'ont conseillé d'installer un autre java et Eclipse, car le java de Fedora qui est par défaut n'est pas une machine virtuelle JVM mais plutôt une machine virtuelle open source GCJ , et puis il y a des trucs qui sont pris en considération par la JVM mais pas par la GCJ.

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Par défaut
    A la limite je peux comprendre le soucis que tu as eu.

    Mais là je n'utilise que des JVM téléchargés sur le site de SUN, ce ne sont pas des packages qui ont été simplement installé du CD de DEBIAN ou autre.
    Il s'agit des versions téléchargées sur le site de SUN. Qui sont selon moi, identique (quand je dis identique je parle en terme JAVA) quelque soit l'OS que l'on utilise.

    Je ne comprend vraiment pas

  12. #12
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2006
    Messages : 34
    Par défaut
    Ah dans ce cas , c'est vraiment bizarre

  13. #13
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    J'ai fait le test avec ton code et chez moi il n'y a aucune barre de titre.

    Moi j'ai KDE, avec la mandriva je ne sais plus quoi (2007, je crois). J'ai aussi java 5.

    Je pense que cela vient du windows manager ; si c'est ça, Java n'y peut rien. Qu'est ce que tu as comme windows manager ?

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Par défaut
    Alors ne sachant pas trop ce qu'est un Window Manager, je vais essayer de ne pas trop passer pour un âne en répondant.

    Ce que je peux te dire, c'est que j'utilise le serveurX de Cygwin pour afficher mon appli qui elle est lancé sur une machine distante.

    Donc en gros je lance mon serveurX sur mon PC Windows en indiquant que les clients en provenance de ma machine linux peuvent s'y connecter.

    Je vais via putty sur ma machine linux en ssh, et je lance mon appli.

    Elle s'affiche sur mon PC via mon serveurX et ............. j'ai les barres de titre et le resizable qui ne fonctionne pas.

    Désolé pour le retard dans la réponse, je ne suis pas allé sur le forum ce week-end...

  15. #15
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    J'ai quelques notion de ce qu'est un window manager, c'est tout

    En gros, sous Microsoft Windows, il n'y a qu'un seul windows manager : windows soit même. Sous Linux, il y en a 36. Il y a KDE, Gnome, et plein d'autres. Certains ne savent gérer qu'une seule fenêtre. D'autres ne permettent aucun déplacement de fenêtre. Etc.

    Sur ces sujets, je pense que tu aurais des réponses plus précises dans les forums linux. Toujours est-il que, à mon avis, si ta fenêtre sans titre a quand même un titre, c'est à cause du window manager que tu emploies, même si tu ne sais pas très bien lequel est-ce.

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Par défaut
    Bon je suis plutôt rassuré par le fait que toi tu n'es aucune barre de titre.

    Car si cela vient de problème de configuration, et non de développement , je n'aurais plus à intervenir dessus.

    Je vais marquer comme résolu ce sujet, car je ne pense pas que je ne pourrais pas aller plus loin à mon niveau.

    Encore merci pour le temps que tu as passé dessus.

  17. #17
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Le serveur X Cygwin est relativement minimaliste comparé à celui installé sur une distrib linux.
    Pour moi c'est gygwin qui est en cause et pas linux.

    Essaie de voir si tu ne peux pas plutôt mettre en place un VNC sur ta Fedora, car là tu auras directement accès à Gnome.

    http://www.g-loaded.eu/2005/11/10/co...ver-in-fedora/

    Puis connecte toi depuis windows avec un client VNC comme ultraVNC

  18. #18
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Par défaut
    Non ceci m'est impossible, il s'agit d'une machine distante sur laquelle je n'ai que des accès TRES restreints, de plus elle est gérée par nos équipes systèmes et réseaux.

    Les seul accès qui nous sont autorisés depuis nos machines sont du ssh depuis nos comptes, ainsi que quelques ports très particuliers pour accéder à certains serveurs via nos applis.

    Donc le VNC c'est impensable, de plus il n'y a pas d'environnement graphique sur ces machines. Le seul moyen de voir un semblant d'iHm est de passer par un serveurX.

    Mais l'idée était bonne... Encore merci pour vos différentes réponses

Discussions similaires

  1. [XL-2007] empecher un double clic sur barre titres sous excel 2007
    Par zanys dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/04/2017, 15h05
  2. Ajouter une entrée dans le menu contextuel de la barre de titre sous Windows
    Par Tyler_Durden dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 20/10/2008, 10h50
  3. barre de titre personnelle sous firefox
    Par slider69 dans le forum Firefox
    Réponses: 0
    Dernier message: 30/05/2008, 10h35
  4. Barre de langue sous linux ?
    Par bnadem35 dans le forum Applications et environnements graphiques
    Réponses: 5
    Dernier message: 26/06/2006, 20h23
  5. Je ne peux établir une connexion cliente sous Linux.
    Par Anonymous dans le forum CORBA
    Réponses: 5
    Dernier message: 16/04/2002, 16h57

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