- 
	
	
	
		Utilisation de JTextArea 
		Bonjour à tous,
 Pour re situer le contexte, j'utilise des objets JAVA dans l'environnement MATLAB.En particulier le JTextArea pour faire une fenêtre qui ressemble à un log des actions en cours.
 
 Pour le moment je veux juste ajouter des lignes les une en dessous des autres avec la méthode "append".
 
 Mon problème est donc le suivant: Si j'ajoute dans ma JTextArea le texte récupérer dans un fichier il n'y a aucun problème tous les caractères de fin de ligne sont placé au bon endroit. Par contre si j'exécute la commande JtextArea.append('ma phrase\n') plusieurs fois, les lignes sont les unes à la suite des autres et non en dessous des autres.
 
 Auriez vous une astuce pour forcer l'ajout d'une ligne autre que append('\n') qui ne marche pas chez moi.
 
 Merci
 
 
- 
	
	
	
	
		Si JTextArea gère le html, ce qu'il fait il me semble, il te suffit de mettre <br> pour un retour à la ligne
 
 ou alors essaie \r\n
 
 
- 
	
	
	
	
		quelle version de java utilise tu?
 sous quel systeme es tu?
 et montre nous un peu ton code parceque le \n marche tres bien a lui seul.
 
 
- 
	
	
	
	
		J'utilise la version1.5
 Je suis sur windows
 
 Mais mois ca ne marcha pas les retour chariot \n peut etre est ce du a matlab.
 
 En tous cas je cherche une solution simple qui impose au JTextArea de sauter une ligne au lieu d'écrire 'maphrase\n' dans ma JTextArea
 
 Voila
 
 function TestJavaMatlab
 clear;
 
 f = figure('MenuBar','none','ToolBar','none');
 
 % Import the necessary java packages
 import javax.swing.*;
 import javax.swing.JTextArea;
 import javax.swing.text.JTextComponent.*;
 import java.lang.Object.*;
 import java.awt.event.*;
 import java.awt.*;
 import java.lang.Character;
 
 
 sizeFigure = get(f,'position');
 
 % Prepare the button icon
 Button1Icon = ImageIcon('images/LIBCP10.gif');
 Button2Icon = ImageIcon('images/T1.gif');
 
 % Create the component
 JTextArea = javax.swing.JTextArea;
 JScrollPane = javax.swing.JScrollPane(JTextArea);
 JPanel = javax.swing.JPanel; % c'est le panel le plus haut il englobe tous les autres
 JTabbedPane = javax.swing.JTabbedPane;
 JPanel1 = javax.swing.JPanel;
 JLabel1 = javax.swing.JLabel;
 JButton1 = javax.swing.JButton(' button1',Button1Icon);
 JButton2 = javax.swing.JButton(' button2',Button2Icon);
 JPanel2 = javax.swing.JPanel;
 JLabel2 = javax.swing.JLabel;
 
 
 
 % Set the component
 JButton1.setVerticalTextPosition(AbstractButton.BOTTOM);
 JButton1.setHorizontalTextPosition(AbstractButton.CENTER);
 %  JButton1.setMnemonic(KeyEvent.VK_B1);
 JButton1.setActionCommand('button1');
 
 JButton2.setVerticalTextPosition(AbstractButton.TOP);
 JButton2.setHorizontalTextPosition(AbstractButton.CENTER);
 %  JButton2.setMnemonic(KeyEvent.VK_B2);
 JButton2.setActionCommand('button2');
 
 JPanel1.add(JButton1);
 JPanel1.add(JButton2);
 JPanel1.add(JLabel1);
 JPanel1.setSize(300, 80);
 
 JPanel2 = javax.swing.JPanel;
 JLabel2 = javax.swing.JLabel;
 JPanel2.add(JLabel2);
 
 JTabbedPane.addTab('onglet1', JPanel1);
 JTabbedPane.addTab('onglet2', JPanel2);
 JTabbedPane.addTab('onglet3',JScrollPane);
 
 JPanel = JPanel.add(JTabbedPane);
 
 % set the panel size
 comp = javacomponent(JPanel);
 [comp, container] = javacomponent(comp);
 set(container,'Position', [1, 1,sizeFigure(3),sizeFigure(4)]);
 
 % Prepare a handle structure of the GUI components so that they can be
 % interacted by the callback functions.
 handles.JButton1 = JButton1;
 handles.JButton2 = JButton2;
 handles.JTextArea = JTextArea;
 handles.JScrollPane = JScrollPane;
 %Listen for actions on the button.
 set(JButton1,'ActionPerformedCallback',{@ButtonCallback,handles});
 set(JButton2,'ActionPerformedCallback',{@ButtonCallback,handles});
 
 %------------------------------------------------------
 function ButtonCallback(hObject,eventdata,handles)
 actionCommand = get(hObject,'ActionCommand');
 try
 switch actionCommand
 case 'button1'
 %handles.btn_left.setEnabled(true);
 %handles.btn_middle.setEnabled(true);
 %handles.btn_right.setEnabled(false);
 handles.JTextArea.append('%This is an example of using Matlab\n');
 refresh(gcf);
 
 case 'button2'
 %handles.btn_left.setEnabled(false);
 %handles.btn_middle.setEnabled(false);
 %handles.btn_right.setEnabled(true);
 fid = fopen('TestJavaMatlab.m');
 C='';
 
 while ~feof(fid)
 C=fgets(fid);
 handles.JTextArea.append(C);
 end;
 refresh(gcf);
 fclose(fid);
 
 end
 
 catch
 err=lasterror;
 msgbox(err.message,'Unrecognized indicator','error','modal');
 end
 
 
- 
	
	
	
	
		J'oublie de préciser que peut être j'ai oublié d'importer un librairie.
 On ne sait jamais...
 
 
- 
	
	
	
	
		je ne vois pas exactement la ligne de "\n". 
 
- 
	
	
	
	
		Apres le %-------------------------------------
 il y a deux case le premier est un append('Ma Phrasee \n')  en plus il est souligné.
 C'est celui la qui pose problème car au lieu de renvoyer:
 Ma phrase
 
 
 il renvoi:
 Ma Phrasee \n
 
 Par contre leux deuxième case marche parfaitement car il lit un fichier et ecrit ligne par ligne les lignes complète du fichier
 
 En espérant avoir été clair!!!
 
 
- 
	
	
	
	
		Y aurais t'il quelqu'un qui puisse me donner une solution à mon premier message.
 
 Merci   :oops:
 
 
- 
	
	
	
	
		append("Ma Phrasee \n") avec des doubles guillemets.