L'exemple de cet article décrit le code d'implémentation Java simple du bloc-notes. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :
Le code complet est le suivant :
Copiez le code comme suit : import java.awt.*;
importer java.io.* ;
importer java.awt.datatransfer.* ;
importer java.awt.event.* ;
classe publique Main étend Frame implémente ActionListener {
privé statique final long serialVersionUID = 1L ;
TextArea textArea = new TextArea();
MenuBar menuBar = new MenuBar();
Menu fichierMenu = nouveau Menu("Fichier");
MenuItem newItem = nouveau MenuItem("Nouveau");
MenuItem openItem = new MenuItem("Ouvrir");
MenuItem saveItem = new MenuItem("Enregistrer");
MenuItem saveAsItem = new MenuItem("Enregistrer sous");
MenuItem exitItem = new MenuItem("Quitter");
Menu editMenu = new Menu("Modifier");
MenuItem selectItem = new MenuItem("Sélectionner tout");
MenuItem copyItem = new MenuItem("Copie");
MenuItem cutItem = new MenuItem("Couper");
MenuItem pasteItem = new MenuItem("Coller");
Chaîne fileName = null ;
Boîte à outils toolKit=Toolkit.getDefaultToolkit();
Presse-papiers clipBoard=toolKit.getSystemClipboard();
private FileDialog openFileDialog = new FileDialog(this,"Open File",FileDialog.LOAD);
private FileDialog saveAsFileDialog = new FileDialog(this,"Enregistrer le fichier sous",FileDialog.SAVE);
public principal(){
setTitle("Programme Bloc-notes par Jackbase");
setFont(nouvelle police("Times New Roman",Font.PLAIN,12));
setBackground(Color.white);
setSize(400 300);
fileMenu.add(newItem);
fileMenu.add(openItem);
fileMenu.addSeparator();
fileMenu.add(saveItem);
fileMenu.add(saveAsItem);
fileMenu.addSeparator();
fileMenu.add(exitItem);
editMenu.add(selectItem);
editMenu.addSeparator();
editMenu.add(copyItem);
editMenu.add(cutItem);
editMenu.add(pasteItem);
menuBar.add(fileMenu);
menuBar.add(editMenu);
setMenuBar(menuBar);
ajouter (zone de texte);
addWindowListener(nouveau WindowAdapter(){
public void windowClosing(WindowEvent e){
Système.exit(0);
}
});
newItem.addActionListener(this);
openItem.addActionListener(this);
saveItem.addActionListener(this);
saveAsItem.addActionListener(this);
exitItem.addActionListener(this);
selectItem.addActionListener(this);
copyItem.addActionListener(this);
cutItem.addActionListener(this);
pasteItem.addActionListener(this);
}
public void actionPerformed(ActionEvent e) { //Écouter les événements
Objet eventSource = e.getSource();
si(eventSource == newItem){
textArea.setText("");
}sinon if(eventSource == openItem){
openFileDialog.show();
fileName = openFileDialog.getDirectory()+openFileDialog.getFile();
si(nomfichier != null)
readFile(nomfichier);
}sinon si (eventSource == saveItem){
si(nomfichier != null)
writeFile(fileName);
}sinon if(eventSource == saveAsItem){
saveAsFileDialog.show();
fileName = saveAsFileDialog.getDirectory()+saveAsFileDialog.getFile();
si (nomfichier! = null)
writeFile(fileName);
}sinon if(eventSource == selectItem){
textArea.selectAll();
}sinon if(eventSource == copyItem){
String text=textArea.getSelectedText();
StringSelection selection=nouveau StringSelection(texte);
clipBoard.setContents(sélection,null);
}sinon if(eventSource == cutItem){
String text=textArea.getSelectedText();
StringSelection selection=nouveau StringSelection(texte);
clipBoard.setContents(sélection,null);
textArea.replaceRange("",textArea.getSelectionStart(),textArea.getSelectionEnd());
}sinon if(eventSource == pasteItem){
Contenu transférable=clipBoard.getContents(this);
if(contents==null) return;
Texte de chaîne ;
texte="";
essayer{
text=(String)contents.getTransferData(DataFlavor.stringFlavor);
}catch(Exception exception){
}
textArea.replaceRange(text,textArea.getSelectionStart(),textArea.getSelectionEnd());
}sinon if(eventSource == exitItem){
Système.exit(0);
}
}
public void readFile(String fileName){ //Lire le traitement du fichier
essayer{
Fichier fichier = nouveau fichier (nom de fichier);
FileReader readIn = nouveau FileReader(fichier);
int taille = (int)file.length();
int charsRead = 0;
char[] content = nouveau char[taille];
pendant que(readIn.ready())
charsRead += readIn.read(content, charsRead, size - charsRead);
readIn.close();
textArea.setText(new String(content, 0, charsRead));
}
catch(IOException e){
System.out.println("Erreur à l'ouverture du fichier");
}
}
public void writeFile(String fileName){ //Traitement du fichier d'écriture
essayer{
Fichier fichier = nouveau fichier (fileName);
FileWriter writeOut = nouveau FileWriter(fichier);
writeOut.write(textArea.getText());
writeOut.close();
}
catch(IOException e){
System.out.println("Erreur d'écriture du fichier");
}
}
@SuppressWarnings("obsolescence")
public static void main (String[] args){
Frame frame = new Main(); //Créer un objet
frame.show(); //C'est l'affichage de l'objet
}
}
Les résultats d'exécution sont présentés dans la figure ci-dessous :
J'espère que cet article sera utile à la programmation Java de chacun.