Implementieren Sie einen einfachen Notizblock, indem Sie Javas Swing and IO verwenden, die Öffnung der angegebenen Textdatei implementieren, dann den Inhalt der Textdatei in die Schwungkomponente geladen und dann den Notizblockinhalt in der Schwungkomponente bearbeiten und dann Optionen in Speichern in den Das gleiche Menü speichern den bearbeiteten Inhalt in der Textdatei. Der Code ist wie folgt:
Die Codekopie lautet wie folgt:
import Java.io.*;
Java.nio importieren.*;
importieren java.nio.channels.*;
importieren java.nio.charset.*;
import Java.awt.*;
import Java.awt.event.*;
import Javax.swing.joptionpane;
/**
*Funktion: Einfaches Notizbuch
*2011-12-25
*/
öffentliche Klasse SimpleNoTePad implementiert ActionListener {
privater Rahmen;
private monedialog fd_load;
private mausendealog fd_save;
privates Textbereich TA;
private String -Datei = "";
private Menuitem retten;
private randomAccessfile RAF;
privates filechannel fci;
private Filelock -Herde;
privater CharsetEncoder -Encoder;
privater CharsetDecoder -Decoder;
public static void main (String args []) {
new SimplenOtepad (). init ();
}
public void init () {
Frame = neuer Rahmen ("mein Notizblock");
Menubar MB = neuer Menubar ();
Menüdatei = neues Menü ("Datei");
Menü help = neues Menü ("Hilfe");
Menuitem offen = neuer Menuitem ("offen");
Save = New Menuitem ("Save");
save.setEnabled (false);
Datei.Add (offen);
Datei.Add (speichern);
mb.add (Datei);
Mb.Add (Hilfe);
Frame.SetMenubar (MB);
ta = neuer textArea ();
Frame.Add (Ta, "Center");
Open.AddactionListener (this);
Save.AddactionListener (this);
Frame.Addwindowlistener (neuer Fensteradapter () {{
public void windowsClosing (windowEvent e) {
System.exit (0);
}
});
Frame.Setsize (600.400);
Frame.SetLocation (300.100);
Frame.SetVisible (True);
fd_load = new mausendialog (Frame, "Datei öffnen", mausendialog.load);
fd_save = new fungialog (Frame, "Datei speichern", mungedialog.save);
CharSet charSet = charSet.forname (System.getProperty ("file.encoding"));
CCODER = charSet.NewenCoder ();
decoder = charset.newDeCoder ();
}
public void actionperformed (actionEvent e) {
String S = E.GetactactionCommand ();
if (s.equals ("offen")) {
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 (Datei)) {
zurückkehren;
}anders{
this.closeFile ();
Datei = destfile;
this.loadFile ();
}
}
} else if (s.equals ("speichern") {
this.savefile ();
}
}
public void lastfile () {
versuchen{
RAF = New RandomAccessfile (Datei, "RW");
fci = raf.getchannel ();
flock = fci.trylock ();
if (flock == null) {
ta.setText ("");
Joptionpane.showmessagedialog (NULL,
"Die Datei wird verwendet und kann nicht ausschließlich geöffnet werden!",
"Fehleraufforderung", joptionpane.ERROR_MESSAGE);
Datei = "";
raf.close ();
raf = null;
}anders{
int länge = (int) fci.size ();
Bytebuffer bb = bytebuffer.alcode (Länge);
fci.read (BB);
bb.flip ();
Charbuffer cb = decoder.decode (BB);
ta.setText (cb.tostring ());
Frame.Settitle ("Mein Notizblock -" + Datei);
save.setEnabled (true);
}
} catch (ioException e) {
E. printstacktrace ();
}
}
public void SaveFile () {
String content = ta.getText ();
versuchen{
Charbuffer cb = charBuffer.wrap (content.toCharArray ());
ByteBuffer bb = cccoder.encode (cb);
raf.setLength (0);
fci.write (BB);
fci.force (wahr);
} catch (ioException e) {
E. printstacktrace ();
}
}
public void closeFile () {
versuchen{
if (flock! = null) {
flock.release ();
}
if (raf! = null) {
raf.close ();
}
Datei = "";
Frame.Settitle ("mein Notizblock");
save.setEnabled (false);
} catch (ioException e) {
E. printstacktrace ();
}
}
}
Reproduktionsbild:
Das obige dreht sich alles um diesen Artikel, ich hoffe es gefällt euch.