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

 Java Discussion :

Ecrire dans une fenetre


Sujet :

Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 17
    Points : 17
    Points
    17
    Par défaut Ecrire dans une fenetre
    Bonjour,

    j'aimerais pouvoir ecrire dans une fenetre.
    Ce que je fais : j'arrive à lire dans un fichier et à afficher dans un TextArea.
    Le problème : l'utilisateur peut écrire/modifier dans le TextArea ce que je ne veux pas.

    Comment rendre le TextArea non modifiable.
    Sinon j'ai essaye aussi le Jabel.
    Problème : il ne respecte pas les saut de lignes.

    Comment puis je remedier a mon probleme?

    Merci.

  2. #2
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    salut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     tonTextArea.setEditable(false);

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 17
    Points : 17
    Points
    17
    Par défaut
    Merci. Ca marche nickel.

    J'aurais une autre question.
    J'ai une fenetre où l'utilisateur rentre des données mais s'il rentre n'importe quoi une fenetre d'erreur doit s'afficher. Seulement s'il clique sur la croix pour fermer au lieu du bouton OK, toutes les fenetres actives se ferment!

    Plus généralement comment faire pour que seulement la fenetre où l'on clique sur la croix se ferme et les autres fenetres restent ouvertes?

    Pour chaque fenetre je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setDefaultCloseOperation(EXIT_ON_CLOSE);

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 342
    Points : 419
    Points
    419
    Par défaut
    c'est bien ça mait tu ne prend pas la bonne valeur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    EXIT_ON_CLOSE veut dire que tu ferme ton application comme cela
    regarde les différents valeurs par exemple

    HIDE_ON_CLOSE

  5. #5
    Membre actif Avatar de pendoRa
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mai 2007
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 317
    Points : 278
    Points
    278
    Par défaut
    Bonjour, le EXIT_ON_CLOSE comme tu la dis, permet un Mais un HIDE_ON_EXIT, que faut il faire pour juste fermer la fenêtre ( pas en cliquant sur la croix mais avec un bouton par exemple ).
    Merci

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 17
    Points : 17
    Points
    17
    Par défaut
    Merci.
    Le HIDE_ON_CLOSE ou le DISPOSE_ON_CLOSE résout mon problème même si je ne vois pas la différence entre les deux
    Le DISPOSE_ON_CLOSE détruit de la mémoire alors que l'autre le cache juste peut etre?
    La javadoc n'est pas très explicite.

    Bonjour, le EXIT_ON_CLOSE comme tu la dis, permet un
    Code :

    system.exit();

    Mais un HIDE_ON_EXIT, que faut il faire pour juste fermer la fenêtre ( pas en cliquant sur la croix mais avec un bouton par exemple ).
    Merci
    Si j'ai bien compris tu veux fermer la fenetre quand on clique sur un bouton?
    Moi je fais un ActionListener et à l'intérieur un setVisible(false) ou un dispose().

  7. #7
    Membre actif Avatar de pendoRa
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mai 2007
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 317
    Points : 278
    Points
    278
    Par défaut
    Bonjour Honrisse, il me semble qu'un setVisiblefalse, efface juste le contenu de la fenêtre, et non pas la ferme. :s

  8. #8
    Membre actif Avatar de pendoRa
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mai 2007
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 317
    Points : 278
    Points
    278
    Par défaut
    Je sais comment quitter ou fermer une appli, mais je ne sais pas comment fermer une fenêtre secondaire avec un extends JFrame. !!

  9. #9
    Membre éclairé Avatar de Heimdal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 549
    Points : 718
    Points
    718
    Par défaut
    Bonjour,

    Le DISPOSE_ON_CLOSE détruit de la mémoire alors que l'autre le cache juste peut etre?
    C'est bien ca

    Je sais comment quitter ou fermer une appli, mais je ne sais pas comment fermer une fenêtre secondaire avec un extends JFrame. !!
    taFrame.hide() ou taFrame.dispose()

  10. #10
    Membre actif Avatar de pendoRa
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mai 2007
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 317
    Points : 278
    Points
    278
    Par défaut
    Je post mon code en question si celà ne dérange personne, car je n'y arrive toujours pas :s

    ( j'ai pas mis les imports )

    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
     
     
     
     
    @SuppressWarnings("serial")
     
    public class Info extends JFrame implements ActionListener {
     
    		private JPanel 					container					 = new JPanel(new GridBagLayout());
    		private String 					text                         = "A PROPOS etc etc...";
    		private JTextArea 				JTA							 = new JTextArea(text, 10 , 10);
    		private JButton 				boutonPopup 				 = new JButton("Fermer");
    		//private GridBagConstraints 		d 							 = new GridBagConstraints();
     
     
     
     
    	public void actionPerformed(ActionEvent arg0) {
     
     
     
    		this.setTitle("A propos");
    		this.setSize(285, 400);
    		this.setLocationRelativeTo(null);
    		this.setDefaultCloseOperation(HIDE_ON_CLOSE);
    		container.setBackground(Color.GRAY);
     
    		this.setVisible(true);
    		this.setContentPane(container);
     
    		container.add(JTA);
    		container.add(boutonPopup)
     
     
     
     
    this.boutonPopup.addMouseListener(new MouseAdapter() {
     
    			public void mouseClicked(MouseEvent e) {
    				System.out.println("fermer le popup");
     
    				//this.dispose(); // ?????   :(   :(
    				//container.hide(); // ?????  :(  :(
     
    			}
    		});

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Tu fait du Swing, de fait je ne comprends pas pourquoi tu fais des imports de ce genre là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import org.eclipse.swt.xxx.aaa;
    Ces imports correspondant à un tout autre toolkit, à savoir SWT.
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  12. #12
    Membre éclairé Avatar de Heimdal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 549
    Points : 718
    Points
    718
    Par défaut
    Je ne comprends rien à ce que tu fais.

    Testes en virant 'implements ActionListener' (et de ce fait la méthode actionPerfomed) et en copie-collant tout ce que tu faisais dedans dans le constructeur de ta classe.

  13. #13
    Membre actif Avatar de pendoRa
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mai 2007
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 317
    Points : 278
    Points
    278
    Par défaut
    Y'a un contentieux la ...
    Une solution, le schéma
    Et les 2 fenêtres sont 2 classes différentes.

  14. #14
    Membre actif Avatar de pendoRa
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mai 2007
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 317
    Points : 278
    Points
    278
    Par défaut
    Citation Envoyé par sinok Voir le message
    Tu fait du Swing, de fait je ne comprends pas pourquoi tu fais des imports de ce genre là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import org.eclipse.swt.xxx.aaa;
    Ces imports correspondant à un tout autre toolkit, à savoir SWT.
    J'avai complètement oublié de le supprimer...

  15. #15
    Membre éclairé Avatar de Heimdal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 549
    Points : 718
    Points
    718
    Par défaut
    Alors la méthode hide est deprecated, on lui préfèrera donc setVisible(boolean b).

    Ci-dessous, tu trouveras le squelette de ce que tu cherche à faire:

    Main:

    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
    public class Main {
     
    	/**
             * @param args
             */
    	public static void main(String[] args) {
    		SwingUtilities.invokeLater(new Runnable() {
     
    			public void run() {
    				new MainFrame().setVisible(true);
    			}
     
    		});
    	}
     
    }
    MainFrame:

    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
    public class MainFrame extends JFrame {
     
    	/**
             * 
             */
    	private static final long serialVersionUID = 1L;
     
    	private final PopupFrame popupFrame;
     
    	public MainFrame() {
    		setLocationRelativeTo(null);
    		setSize(400, 200);
    		setDefaultCloseOperation(EXIT_ON_CLOSE);
    		popupFrame = new PopupFrame();
    		setContentPane(buildContent());
    	}
     
    	private JPanel buildContent() {
    		JPanel pan = new JPanel();
    		JButton openPopupFrameButton = new JButton("Open PopupFrame");
    		openPopupFrameButton.addActionListener(new ActionListener() {
     
    			public void actionPerformed(ActionEvent e) {
    				popupFrame.setVisible(true);
    			}
     
    		});
    		pan.add(openPopupFrameButton, BorderLayout.CENTER);
    		return pan;
    	}
     
    }
    PopupFrame:

    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
    public class PopupFrame extends JFrame {
     
    	/**
             * 
             */
    	private static final long serialVersionUID = 1L;
     
    	public PopupFrame() {
    		setLocationRelativeTo(null);
    		setSize(200, 150);
    		setDefaultCloseOperation(EXIT_ON_CLOSE);
    		setContentPane(buildContent());
    	}
     
    	private JPanel buildContent() {
    		JPanel pan = new JPanel();
    		JButton closePopupFrameButton = new JButton("Close");
    		closePopupFrameButton.addActionListener(new ActionListener() {
     
    			public void actionPerformed(ActionEvent e) {
    				PopupFrame.this.setVisible(false);
    			}
     
    		});
    		pan.add(closePopupFrameButton, BorderLayout.CENTER);
    		return pan;
    	}
    }
    En espérant que ca dissipe tes interrogations.
    ++

  16. #16
    Membre actif Avatar de pendoRa
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mai 2007
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 317
    Points : 278
    Points
    278
    Par défaut
    T'as réponse m'a fortement aidé. Je me suis inspiré de ta méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nomClass.this.setVisible(false);
    et voila, quand un click est opéré sur mon bouton... fermeture de la popup sans histoires, sans errors..
    Merci .
    Résolu !
    ( c'est pas mon sujet à la base ^^ )

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 17
    Points : 17
    Points
    17
    Par défaut
    Ha j'avais raison pour le setVisible(false)!
    Tiens moi je fais simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public void actionPerformed(ActionEvent e) {
    				setVisible(false);
    			}
    Pourquoi le faire sur le nom de la classe?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     public void actionPerformed(ActionEvent e) {
    				NomClasse.this.setVisible(false);
    			}
    Si ce topic peut aider je suis content.

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

Discussions similaires

  1. Ecrire dans une fenetre cmd déjà ouverte
    Par leyee dans le forum C#
    Réponses: 15
    Dernier message: 15/02/2008, 01h57
  2. Ecrire dans une autre fenetre que celle de l'application
    Par aurelien59 dans le forum Windows
    Réponses: 3
    Dernier message: 15/05/2007, 11h50
  3. Réponses: 4
    Dernier message: 04/03/2007, 23h18
  4. saisie dans une fenetre de service
    Par gord's dans le forum Composants VCL
    Réponses: 4
    Dernier message: 05/11/2003, 16h25
  5. gérer les jpg dans une fenetre directdraw???
    Par Anonymous dans le forum DirectX
    Réponses: 1
    Dernier message: 14/06/2002, 13h39

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