Implémentez un bloc-notes simples en utilisant le swing et IO de Java, implémentant l'ouverture du fichier texte texte spécifié, puis chargeant le contenu du fichier texte dans le composant swing, puis éditant le contenu du bloc-notes dans le composant swing, puis enregistrez les options dans Le même menu enregistre le contenu modifié dans le fichier texte. Le code est le suivant:
La copie de code est la suivante:
importer java.io. *;
importer java.nio. *;
import java.nio.channels. *;
import java.nio.charset. *;
import java.awt. *;
import java.awt.event. *;
import javax.swing.joptionpane;
/ **
* Fonction: ordinateur portable simple
* 2011-12-25
* /
classe publique SimplenotePad implémente ActionListener {
cadre de trame privé;
Private FileDialog FD_load;
Private FileDialog FD_SAVE;
TextArea privée TA;
file de chaîne privée = "";
MenuItem privé Save;
RABALACSACT PRIVÉ RAF RAF;
FCI Private FileChannel;
troupeau de filelock privé;
Encodeur de charmencoder privé;
Décodeur privé Charsetdecoder;
public static void main (String args []) {
new simplenotepad (). init ();
}
public void init () {
frame = nouveau cadre ("mon bloc-notes");
MenUbar MB = new MenUbar ();
File de menu = nouveau menu ("fichier");
Menu help = nouveau menu ("help");
MenuItem Open = new Menuem ("Open");
Save = new MenuItem ("Save");
Save.SetEnabled (false);
file.add (ouvert);
file.add (sauver);
mb.add (fichier);
MB.Add (aide);
frame.setMenubar (MB);
ta = new TextArea ();
frame.add (ta, "Centre");
open.addactionListener (this);
Save.AddactionListener (this);
frame.addwindowListener (new WindowAdapter () {
public void windowclosing (windowevent e) {
System.exit (0);
}
});
frame.SetSize (600 400);
frame.setLocation (300,100);
frame.setVisible (true);
fd_load = new FileDialog (cadre, "fichier ouvert", fileDialog.load);
fd_save = new FileDialog (cadre, "Save Fichier", FileDialog.save);
Charset charset = charset.forname (System.getProperty ("file.encoding"));
encodeur = charset.newencoder ();
Decoder = charSet.NewDecoder ();
}
public void ActionPerformed (ActionEvent e) {
String s = e.getActionCommand ();
if (s.equals ("open")) {
fd_load.setVisible (true);
String d = fd_load.getDirectory ();
String f = fd_load.getFile ();
if ((d! = null) && (f! = null)) {
String destfile = d + f;
if (destfile.equals (fichier)) {
retour;
}autre{
this.closefile ();
file = destfile;
this.loadFile ();
}
}
} else if (s.equals ("save")) {
this.savefile ();
}
}
public void loadfile () {
essayer{
raf = new randomaccessfile (fichier, "rw");
fci = raf.getChannel ();
flock = fci.trylock ();
if (flock == null) {
ta.setText ("");
Joptionpane.showMessageDialog (null,
"Le fichier est utilisé et ne peut pas être ouvert exclusivement!",
"Invite d'erreur", joptionpane.error_message);
file = "";
raf.close ();
RAF = null;
}autre{
int length = (int) fci.size ();
Bytebuffer bb = bytebuffer.Allocation (longueur);
fci.read (bb);
bb.flip ();
Charbuffer CB = Decoder.decode (BB);
TA.SETTEXT (CB.TOSTRING ());
frame.setTitle ("mon bloc-notes -" + fichier);
Save.SetEnabled (true);
}
} catch (ioexception e) {
e.printStackTrace ();
}
}
public void SaveFile () {
String Content = ta.getText ();
essayer{
Charbuffer CB = Charbuffer.Wrap (Content.toCharArray ());
ByteBuffer BB = Encoder.Encode (CB);
raf.setLength (0);
fci.write (BB);
fci.force (true);
} catch (ioexception e) {
e.printStackTrace ();
}
}
public void closefile () {
essayer{
if (troupeau! = null) {
flock.release ();
}
if (raf! = null) {
raf.close ();
}
file = "";
frame.setTitle ("mon bloc-notes");
Save.SetEnabled (false);
} catch (ioexception e) {
e.printStackTrace ();
}
}
}
Image de reproduction:
Ce qui précède est tout sur cet article, j'espère que vous l'aimez.