Action d'un button affiche fichier text
Résolu
djanahana
Messages postés
95
Statut
Membre
-
djanahana -
djanahana -
Bonjour,
je voudrai savoir svp,comment je peux ouvrir un fichier texte a partir d'une action soit un button ou même un label avec java swing,
dans mon exemple j'ai un Label "Voir les Résultats" si je clique sur ce Label je veux qu'il ouvre le fichier texte "Result.txt" par exemple
merci d'avoir lire on message
je voudrai savoir svp,comment je peux ouvrir un fichier texte a partir d'une action soit un button ou même un label avec java swing,
dans mon exemple j'ai un Label "Voir les Résultats" si je clique sur ce Label je veux qu'il ouvre le fichier texte "Result.txt" par exemple
merci d'avoir lire on message
4 réponses
-
tu veux que ça ouvre ton ficher .txt comment ? avec un éditeur de texte ou avec System.out.print() ??
-
-
si tu utilises du php, tu pourrais utiliser
exec();
=> https://www.php.net/manual/fr/function.exec.php -
-
euh oui pardon, j'ai confondu ^^
https://ydisanto.developpez.com/tutoriels/java/runtime-exec/#LII -
merci monsieur brute pour le lien ,c'est interressant ,il me faut maintenant le comprendre pour connaitre comment modifier pour l'application notepad ,toute consiel je serai appercie
new Thread() { public void run() { try { BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line = ""; try { while((line = reader.readLine()) != null) { // Traitement du flux de sortie de l'application si besoin est } } finally { reader.close(); } } catch(IOException ioe) { ioe.printStackTrace(); } } }.start();
merci
-
-
essayez ceci : ???
new Thread() { public void run() { Runtime runtime = Runtime.getRuntime(); runtime.exec(new String[] {"C:\Program Files\Windows NT\Accessories\wordpad.exe"} ); /*try { BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line = ""; try { while((line = reader.readLine()) != null) { // Traitement du flux de sortie de l'application si besoin est } } finally { reader.close(); } } catch(IOException ioe) { ioe.printStackTrace(); }*/ } }.start();-
le voila ,j'ai essaye ça est ça marche trés bien ,il me rest de faire l'action dans mon button
je ne sais pas comment remplacer le code de cette classe comme une méthode java pour que je l'appeler dans l'action de mon button
import java.io.IOException; public class test_thread { { new Thread() { public void run() { Runtime runtime = Runtime.getRuntime(); try { runtime.exec(new String[] {"C:\\Windows\\System32\\notepad.exe","C:\\file\\teste.txt"} ); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }.start(); } public static void main (String args[]) { test_thread ta=new test_thread(); } }
merci d'avoir lire mon message -
si bon j'ai trouvé la solution a mon problème,
code de la méthode test_lien qui fait le lien estpublic void test_lien() { Runtime runtime = Runtime.getRuntime(); try { runtime.exec(new String[] {"C:\\Windows\\System32\\notepad.exe","C:\\file\\teste.txt"} ); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }
l'action de bouton est une appel de cette fonctionjButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { test_lien(); System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed() } });
merci beaucoup pour votre temps et d'avoir m'aider
-
-
Salut!
Houlala! Un Thread pour lire un fichier texte? Je pense que ce n'est pas nécessaire.
Voici un exemple avec Swing, comme tu l'as demandé:
package hacktrack.actionbutton; import java.awt.BorderLayout; import java.awt.Container; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.filechooser.FileFilter; public class ActionButtonDemo extends JFrame implements ActionListener { private int size; private JPanel openFilePanel; private JTextArea textFileContent; public ActionButtonDemo() { super("Action Button Demo"); init(); } private void init() { Container c = getContentPane(); c.setLayout(new BorderLayout()); openFilePanel = new JPanel(); openFilePanel.setLayout(new GridLayout(1, 3)); JButton btnOpenFile = new JButton("Ouvrir..."); btnOpenFile.addActionListener(this); openFilePanel.add(btnOpenFile); c.add(openFilePanel, BorderLayout.NORTH); JPanel texFileContentPanel = new JPanel(); textFileContent = new JTextArea(10, 40); texFileContentPanel.add(textFileContent); JScrollPane jsp = new JScrollPane(texFileContentPanel); jsp.setBorder(BorderFactory .createTitledBorder("Contenu du fichier texte")); c.add(jsp, BorderLayout.CENTER); } @Override public void actionPerformed(ActionEvent ae) { JFileChooser jfc = new JFileChooser(); jfc.setFileFilter(new FileFilter() { @Override public boolean accept(File f) { return f.isDirectory() || f.getAbsolutePath().endsWith(".txt"); } @Override public String getDescription() { return "Fichiers avec extension '.txt'"; } }); int result = jfc.showOpenDialog(null); if (result == JFileChooser.APPROVE_OPTION) { File textFile = jfc.getSelectedFile(); try { BufferedReader reader = new BufferedReader(new FileReader( textFile)); String line; StringBuilder fileContent = new StringBuilder(); while ((line = reader.readLine()) != null) { fileContent.append(line).append("\n\r"); } textFileContent.setText(fileContent.toString()); } catch (Exception e) { JOptionPane.showMessageDialog(null, "Impossible de lire ce fichier"); } } } public static void main(String[] args) { ActionButtonDemo demo = new ActionButtonDemo(); demo.pack(); demo.setVisible(true); } }
;-)
HackTrack-
Merci pour le code ,je vais l'utiliser dans mon programme mais dans un autre contexte,ce qu'on y entrain de dire moi est Mr brute est qu'on veut que le fichier texte s'ouvre avec notepad(bloc note)
cette aspect est simlaire a celui lors d'une installation d'un logiciel par exemple(ou un fichier READ ME s'affiche automatiquement) ou même lorsque on a lien html vers un fichier texte .
merci d'avoir lire mon message
-
-
le voila ,j'ai essaye ça est ça marche trés bien ,il me rest de faire l'action dans mon button
je ne sais pas comment remplacer le code de cette classe comme une méthode java pour que je l'appeler dans l'action de mon button
import java.io.IOException;
public class test_thread {
{
new Thread() {
public void run() {
Runtime runtime = Runtime.getRuntime();
try {
runtime.exec(new String[] {"C:\\Windows\\System32\\notepad.exe","C:\\file\\teste.txt"} );
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}.start();
}
public static void main (String args[]) {
test_thread ta=new test_thread();
}
}
merci d'avoir lire mon message