BlocNote en java

[Résolu/Fermé]
Signaler
-
Messages postés
405
Date d'inscription
lundi 24 mars 2008
Statut
Membre
Dernière intervention
22 janvier 2013
-
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

2 réponses

Messages postés
405
Date d'inscription
lundi 24 mars 2008
Statut
Membre
Dernière intervention
22 janvier 2013
45
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.
Utilisateur anonyme
Salut,

Sans oublier la sélection de tout ou partie d'un texte avant d'effectuer cut ou copy...
voile mon programme

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);
}
}
il fonctionne mais je sé pas comment insérer les autres choses pour copier coller couper
Messages postés
405
Date d'inscription
lundi 24 mars 2008
Statut
Membre
Dernière intervention
22 janvier 2013
45
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());        
      }  
});