BlocNote en java
Résolu
SNE
-
matthoffman Messages postés 405 Date d'inscription Statut Membre Dernière intervention -
matthoffman Messages postés 405 Date d'inscription Statut Membre Dernière intervention -
Bonjour je suis débutante en java j'ai un projet je doit créer un BlocNote en code java bon j'ai créer le menu fichier qui contien ouvrir sauvegarder imprimer et quiter tt ca marche bien mais j'arive pas a faire le menu Edtion copier et coller et couper j'ai trouvé ennormément de dificulté si quelqu'un peu m'aider je serai contante juste copier coller et couper merci d'avance
A voir également:
- BlocNote en java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
2 réponses
Quelle bibliotheque graphique utilises tu ?
Normalement dans ton objet TextArea (le nom est indicatif, selon la bibliotheque que tu utilises le nom peut etre different) tu devrais trouver des methodes pour faire appel a cut/copy/paste.
Normalement dans ton objet TextArea (le nom est indicatif, selon la bibliotheque que tu utilises le nom peut etre different) tu devrais trouver des methodes pour faire appel a cut/copy/paste.
Je t'ai fais la fonction coller qui est la plus difficile des trois. A partir de cet exemple tu pourras deduire comment faire le copier et le couper:
Clipboard clipboard = getToolkit().getSystemClipboard(); Coller.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { Transferable clipData = clipboard.getContents(this); String s; try { s = (String) (clipData.getTransferData(DataFlavor.stringFlavor)); } catch (Exception ee) { s = ee.toString(); } textArea.replaceRange(s, textArea.getSelectionStart(), textArea.getSelectionEnd()); } });
Sans oublier la sélection de tout ou partie d'un texte avant d'effectuer cut ou copy...
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Scanner;
import java.io.*;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.standard.OrientationRequested;
class Menu extends JFrame implements ActionListener {
TextArea textArea = new TextArea("", 0,0, TextArea.SCROLLBARS_VERTICAL_ONLY);
public Menu()
{
setTitle ("Exemple de menu") ;
setSize (3000, 1500) ;
TextArea titre = new TextArea("", 0,0, TextArea.SCROLLBARS_VERTICAL_ONLY);
Menubarre =new JMenuBar();
setJMenuBar(Menubarre);
setDefaultCloseOperation(EXIT_ON_CLOSE); // set the default close operation (exit when it gets closed)
textArea.setFont(new Font("Century Gothic", Font.BOLD, 12));
getContentPane().setLayout(new BorderLayout()); // the BorderLayout bit makes it fill it automatically
getContentPane().add(textArea);
/* creation menu Fichier et ses options */
Fichier = new JMenu("Fichier");
Menubarre.add(Fichier);
Ouvrir=new JMenuItem("Ouvrir");
Fichier.add(Ouvrir);
Ouvrir.addActionListener(this);
Sauvegarder=new JMenuItem("Sauvegarder");
Fichier.add(Sauvegarder);
Sauvegarder.addActionListener(this);
Fermer=new JMenuItem("Fermer");
Fichier.add(Fermer);
Fermer.addActionListener(this);
imprimer=new JMenuItem("imprimer");
Fichier.add(imprimer);
imprimer.addActionListener(this);
/* creation menu Edition et ses options */
Edition = new JMenu ("Edition") ;
Menubarre.add(Edition) ;
Copier=new JMenuItem("Copier");
Edition.add(Copier);
Coller=new JMenuItem("Coller");
Edition.add(Coller);
Coller.addActionListener(this);
Couper=new JMenuItem("Couper");
Edition.add(Couper);
Coller.addActionListener(this);
/* creation menu Format et ses options */
Format = new JMenu ("Format") ;
Menubarre.add(Format) ;
}
public void actionPerformed (ActionEvent e)
{ Object source = e.getSource() ;
System.out.println ("Action avec chaine de commande = "
+ e.getActionCommand() ) ;
if (source == Ouvrir) {
JFileChooser open = new JFileChooser(); // open up a file chooser (a dialog for the user to browse files to open)
int option = open.showOpenDialog(this);
if (option == JFileChooser.APPROVE_OPTION) {
this.textArea.setText(""); // clear the TextArea before applying the file contents
try {
Scanner scan = new Scanner(new FileReader(open.getSelectedFile().getPath()));
while (scan.hasNext()) // while there's still something to read
this.textArea.append(scan.nextLine() + "\n"); // append the line to the TextArea
} catch (Exception ex) { // catch any exceptions, and...
System.out.println(ex.getMessage());
}
}
}
if (source == Fermer) dispose() ;
if (e.getSource() == Sauvegarder) {
JFileChooser save = new JFileChooser(); // again, open a file chooser
int option = save.showSaveDialog(this); // similar to the open file, only this time we call
if (option == JFileChooser.APPROVE_OPTION) {
try {
BufferedWriter out = new BufferedWriter(new FileWriter(save.getSelectedFile().getPath()));
out.write(this.textArea.getText()); // write the contents of the TextArea to the file
out.close(); // close the file stream
}
catch (Exception ex) { // again, catch any exceptions and...
System.out.println(ex.getMessage());
}
}
}
if (e.getSource() == imprimer) {
PrinterJob job = PrinterJob.getPrinterJob();
HashPrintRequestAttributeSet printRequestSet = new HashPrintRequestAttributeSet();
printRequestSet.add(OrientationRequested.LANDSCAPE);
if (job.printDialog(printRequestSet)){
try {
job.print();
} catch (PrinterException ex) {
ex.printStackTrace();
}
}
}
}
private JMenuBar Menubarre;
private JMenu Fichier,Edition,Format;
private JMenuItem Ouvrir,Sauvegarder,Fermer,Copier,Coller,Couper,imprimer;
}
public class Jmenuu
{ public static void main (String args[])
{ Menu BN =new Menu();
BN.setVisible(true);
}
}