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 :

Interface et Texte


Sujet :

AWT/Swing Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 94
    Points : 74
    Points
    74
    Par défaut Interface et Texte
    Que ce soit un JTextPane, un JTextArea ou TextArea. Je peux saisir qu'une ligne de texte, je peux pas saisir un texte car lorsque je fais entrée cela valide le composant.
    Je voudrais pouvoir taper du texte comme dans un chat.
    Quel composant est le plus approprié.
    Merci
    Opticus : client Flickr pour iPhone et iPod Touch

  2. #2
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Salut,

    Normalement c'est JTextArea pour ce genre de comportement.

    Jète un oeil au tutorial de SUN.
    K

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 86
    Points : 95
    Points
    95
    Par défaut
    il y la méthode setWrappedLine à mettre à True aussi il me semble pour permettre le retour à la ligne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    taJTextArea.setWrappedLine(true);
    Vérifie l'orthographe mais ca doit etre ca

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 94
    Points : 74
    Points
    74
    Par défaut
    Merci.
    Un autre problème est survenu.
    Je voudrais inscrire un bouton dans une frame mais le bouton la remplie.
    Opticus : client Flickr pour iPhone et iPod Touch

  5. #5
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    Tu dois mal utilisé le Layout.
    Montre-nous ton code.


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 86
    Points : 95
    Points
    95
    Par défaut
    voit du côté du layout. Il faut que tu définisses un layout et à partir de là que tu dises où tu veux mettre ton bouton et ses dimensions.

    Celui par défaut avec nord, sud, est, ouest et center ne marche que si tu as des composants partout. Si tu veux rester sur un comme celui là, il faut que tu mettes des VerticalGlue ou HorizontalGlue autour pour permettre de placer ton bouton. C'est assez galère.

    Le mieux (pour moi) c'est le GridBagLayout. Peut-être un peu compliqué au début mais super évolué et pratique pour placer tes composants comme tu le veux vraiment

    Bon courage

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 94
    Points : 74
    Points
    74
    Par défaut
    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
    import javax.swing.JButton;
    import javax.swing.JTree;
    import javax.swing.JTextArea;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import java.awt.BorderLayout;
    import javax.swing.JTextPane;
     
    public class bouton {
     
    	private JFrame jFrame = null;
    	private JPanel jContentPane = null;
    	private JButton jButton = null;
    	private JTextArea jTextArea = null;
     
     
    	private JFrame getJFrame() {
    	if (jFrame == null) {
    	jFrame = new JFrame();
    	jFrame.setSize(new java.awt.Dimension(319,169));
    	jFrame.setTitle("Test");
    	jFrame.setContentPane(getJContentPane());
    	}
    	return jFrame;
    	}
     
    	private JPanel getJContentPane() {
    	if (jContentPane == null) {
    	jContentPane = new JPanel();
    	jContentPane.setLayout(null);
    	jContentPane.add(getJButton(), null);
    	jContentPane.add(getJTextArea(), null);
    	}
    	return jContentPane;
    	}
     
     
    	private JButton getJButton() {
    	if (jButton == null) {
    	jButton = new JButton();
    	jButton.setText("OK");
    	jButton.setBounds(new java.awt.Rectangle(103,104,108,26));
    	}
    	return jButton;
    	}
     
    	private JTextArea getJTextArea() {
    	if (jTextArea == null) {
    	jTextArea = new JTextArea();
    	jTextArea.setBounds(new java.awt.Rectangle(15,15,287,76));
    	jTextArea.setWrappedLine(true);
    	jTextArea.setText("");
    	}
    	return jTextArea;
    	}
     
    }
    Opticus : client Flickr pour iPhone et iPod Touch

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 86
    Points : 95
    Points
    95
    Par défaut
    Il faut que tu définisses un layout pour ton JPanel.
    Ne le laisse pas à null.

    Je n'ai pas d'exemple de code sous la main.

    Mais regarde dans la javadoc à GridBagLayout par exemple pour comprendre comment il marche.

  9. #9
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 86
    Points : 95
    Points
    95
    Par défaut
    Au souvenir, cela doit faire quelque chose du style.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    jPane.setLayout(new GridBagLayout());
    jPane.add(new JButton(), new GridBagConstraints(,,,,,,,,,,,,,));
    Après, pour les paramètres de GridBagConstraints regarde dans la javadoc c'est bien expliqué.

    Tu as d'autres layout qui existe moins puissant mais plus simple, tout dépend de ce que tu cherches à faire.

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 94
    Points : 74
    Points
    74
    Par défaut
    Je cherche juste a réaliser une interface graphique pour un chat via le port série.
    Opticus : client Flickr pour iPhone et iPod Touch

  11. #11
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 86
    Points : 95
    Points
    95
    Par défaut
    essaye de mettre dans ta création du bouton et ta JTextArea un
    setPreferredSize() pour définir la taille de ton bouton et ta textArea

    Préfère toujours l'utilisation du setPreferredSize au setSize dans les composants graphiques. Tu peux donc aussi changer le setSize que tu as mis dans l'initialisation de ta JFrame.

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 94
    Points : 74
    Points
    74
    Par défaut
    J'ai remodelé mon code.
    J'ai crée:
    - un JTextField pour taper mon texte
    - un JButton pour l'envoyer
    - un JTextArea pour l'afficher.

    Mais j'arrive pas à ordonner le tout dans ma frame.

    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
    import javax.swing.*;
    import java.io.*;
     
     
    public class ChatBox extends JFrame{
     
    	public ChatBox(){
    		super();
     
    		this.setSize(500,500);
    		this.setTitle("Chat Box");
    		this.setVisible(true);
     
    		JTextArea area = new JTextArea();
    		area.setBounds(2,2,200,200);
    		area.append("salut");
    	 	getContentPane().add(area); 
     
    	 	JTextField field = new JTextField();
    		field.setSize(new java.awt.Dimension(100,20));
    		field.setText("");
                              getContentPane().add(field);
     
     
     
    		JButton jButton;
     
    		jButton = new JButton();
    		jButton.setSize(50,50);
    		jButton.setText("Envoyer");
    		getContentPane().add(jButton);
     
    	}
     
     
    	public static void main(String[] args){
     
    	}
    }
    Opticus : client Flickr pour iPhone et iPod Touch

  13. #13
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 86
    Points : 95
    Points
    95
    Par défaut
    il faut que tu définisses un layout pour ta frame afin de pouvoir donner une position à tes objets quand tu les ajoutes à ta frame.

    Sans layout tu ne pourras pas placer tes objets comme tu le souhaites.

    De plus, n'oublie pas d'utiliser plutot le setPreferredSize au setSize

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 94
    Points : 74
    Points
    74
    Par défaut
    Il faut définir le layout de cette manière ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public class GridLayoutPane extends JPanel{
     
    	public GridLayoutPane(){
    	this.setLayout( (new GridLayout(10,10,10,10)));
    	}
    Opticus : client Flickr pour iPhone et iPod Touch

  15. #15
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 86
    Points : 95
    Points
    95
    Par défaut
    par exemple. Et après quand tu fais un add il se place automatiquement dans l'ordre où tu les inséres.

    Mais dans ton cas, ca serait plutot new GridLayout(3,1)
    3 lignes et 1 colonne pour mettre tes éléments l'un en dessous de l'autre.
    Il se mettrait dans l'ordre où tu les insères de haut en bas

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 94
    Points : 74
    Points
    74
    Par défaut
    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
    import javax.swing.*;
    import java.awt.BorderLayout;
    import java.io.*;
    
    
    public class ChatBox extends JFrame{
    	
    	public ChatBox(){
    	super();
    	 
    	this.setSize(500,500);
    	this.setTitle("Chat Box");
    	this.setVisible(true);
    		
    	JFrame frame = new JFrame();
    	frame.setSize(new java.awt.Dimension(481,183));
    	frame.setTitle("Chat Box");
    	frame.setContentPane(getJContentPane());;
    	 
    	JTextArea area = new JTextArea();
    	area.setBounds(new java.awt.Rectangle(14,0,452,113));
    	area.setPreferredSize(new java.awt.Dimension(0,16));
    	area.append("");
    	 getContentPane().add(area); 
    	 	
    	 JTextField field = new JTextField();
    	 field.setBounds(new java.awt.Rectangle(15,120,367,31));
    	field.setPreferredSize(new java.awt.Dimension(4,20));
    	field.setText("texte a taper");
    	getContentPane().add(field);
    	 	
    		
    	JButton boutton;
    				
    	boutton = new JButton();
    	boutton.setBounds(new java.awt.Rectangle(390,120,79,31));
    	boutton.setPreferredSize(new java.awt.Dimension(79,26));
    	boutton.setText("Envoyer");
    	getContentPane().add(boutton);
    	
    	}
    	
    	
    	public static void main(String[] args){
    
    	}
    }
    Il me reste une erreur : The method getJContentPane() is undefined for the type ChatBox
    Opticus : client Flickr pour iPhone et iPod Touch

  17. #17
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 86
    Points : 95
    Points
    95
    Par défaut
    c'est une méthode que tu avais défini toi tout à l'heure.

    Mets ca à la place :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    frame.setContentPane(new JPanel());
    getContentPane().setLayout(new GridLayout(3,1));
    Ca devrait marcher mieux

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 94
    Points : 74
    Points
    74
    Par défaut
    Je le met à quel endroit dans le code ?
    Je vois pas ce que tu veux dire
    Opticus : client Flickr pour iPhone et iPod Touch

  19. #19
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 86
    Points : 95
    Points
    95
    Par défaut
    tu mets ca a la place de ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    frame.setContentPane(getJContentPane());;
    Tu fais juste ce remplacement là et ca devrait marcher sans erreur

  20. #20
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 94
    Points : 74
    Points
    74
    Par défaut
    Ca marche sauf que les éléments sont les uns en dessous des autres.
    Je voudrai mettre mon JTextField à côté de mon JButton et ces 2 éléments en-dessous du JTextArea.
    Ca fait 2 lignes et 1 colonne.
    Opticus : client Flickr pour iPhone et iPod Touch

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [HTML] Générer un fichier texte à l'aide d'une interface graphique en HTML
    Par gogeta68 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 01/04/2008, 23h27
  2. Interface en mode texte
    Par sekiryou dans le forum Windows
    Réponses: 6
    Dernier message: 05/07/2007, 09h08
  3. Réponses: 2
    Dernier message: 10/06/2007, 12h18
  4. interface d'une zone de texte d'un formulaire
    Par stars333 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/03/2007, 15h03

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