قم بتنفيذ مفكرة بسيطة باستخدام Swing's Swing و IO ، وتنفيذ فتح الملف النص النصي المحدد ، ثم تحميل محتوى الملف النصي في مكون التأرجح ، ثم تحرير محتوى المفكرة في مكون التأرجح ، ثم حفظ الخيارات في نفس القائمة احفظ المحتوى المعدل إلى الملف النصي. الرمز كما يلي:
نسخة الكود كما يلي:
استيراد java.io.*؛
استيراد java.nio.*؛
استيراد java.nio.channels.*؛
استيراد java.nio.charset.*؛
استيراد java.awt.*؛
استيراد java.awt.event.*؛
استيراد javax.swing.joptionpane ؛
/**
*الوظيفة: دفتر ملاحظات بسيط
*2011-12-25
*/
الطبقة العامة simplenotepad تنفذ ActionListener {
إطار إطار خاص ؛
filedialog private fd_load ؛
filedialog private fd_save ؛
Textarea Textarea TA ؛
ملف سلسلة خاص = "" ؛
إنقاذ Menuitem الخاص.
RandomAccessfile RAF.
FileChannel الخاص FCI ؛
قطيع FileLock الخاص ؛
تشفير charsetencoder الخاص ؛
جهاز فك ترميز charsetdecoder الخاص ؛
الفراغ الثابت العام (سلسلة args []) {
New Simplenotepad (). init () ؛
}
الفراغ العام init () {
الإطار = إطار جديد ("مفكرة") ؛
Menubar MB = new menubar () ؛
ملف القائمة = قائمة جديدة ("ملف") ؛
مساعدة القائمة = قائمة جديدة ("مساعدة") ؛
Menuitem Open = new Menuitem ("Open") ؛
حفظ = new menuitem ("حفظ") ؛
Save.setEnabled (false) ؛
file.add (open) ؛
file.add (حفظ) ؛
mb.add (ملف) ؛
MB.Add (المساعدة) ؛
Frame.SetMenubar (MB) ؛
ta = new textarea () ؛
Frame.Add (TA ، "Center") ؛
Open.addActionListener (هذا) ؛
save.addActionListener (this) ؛
frame.addwindowlistener (new WindowAdapter () {
windowsclosing public void (WindowEvent e) {
System.exit (0) ؛
}
}) ؛
Frame.Setsize (600،400) ؛
Frame.SetLocation (300،100) ؛
frame.setVisible (صحيح) ؛
fd_load = new FileDialog (Frame ، "Open File" ، FileDialog.load) ؛
fd_save = new FileDialog (Frame ، "Save File" ، FileDialog.save) ؛
charset charset = charset.forname (system.getProperty ("file.encoding")) ؛
Encoder = charset.newencoder () ؛
decoder = charset.newDecoder () ؛
}
الفراغ العام actionperformed (Actionevent e) {
سلسلة s = e.getActionCommand () ؛
if (s.equals ("Open")) {
fd_load.setVisible (true) ؛
String d = fd_load.getDirectory () ؛
سلسلة f = fd_load.getFile () ؛
if ((d! = null) && (f! = null)) {
سلسلة destfile = d + f ؛
if (destfile.equals (ملف)) {
يعود؛
}آخر{
this.closefile () ؛
ملف = destfile ؛
this.loadFile () ؛
}
}
} آخر إذا (S.equals ("Save")) {
this.savefile () ؛
}
}
public void loadfile () {
يحاول{
raf = new RandomAccessFile (ملف ، "RW") ؛
fci = raf.getChannel () ؛
Flock = fci.Trylock () ؛
if (flock == null) {
ta.settext ("") ؛
joptionpane.showmessagedialog (NULL ،
"الملف قيد الاستخدام ولا يمكن فتحه حصريًا!" ،
"موجه خطأ" ، joptionpane.error_message) ؛
ملف = "" ؛
raf.close () ؛
RAF = NULL ؛
}آخر{
طول int = (int) fci.size () ؛
bytebuffer bb = bytebuffer.allocate (طول) ؛
fci.read (bb) ؛
bb.flip () ؛
charbuffer cb = decoder.decode (bb) ؛
ta.settext (cb.toString ()) ؛
frame.settitle ("my notepad -" + file) ؛
Save.SetEnabled (true) ؛
}
} catch (ioException e) {
E.PrintStackTrace () ؛
}
}
public void savefile () {
content string = ta.getText () ؛
يحاول{
charbuffer cb = charbuffer.wrap (content.tochararray ()) ؛
Bytebuffer BB = Encoder.encode (CB) ؛
raf.setlength (0) ؛
fci.write (bb) ؛
fci.force (صواب) ؛
} catch (ioException e) {
E.PrintStackTrace () ؛
}
}
public void closefile () {
يحاول{
if (flock! = null) {
Flock.Release () ؛
}
if (raf! = null) {
raf.close () ؛
}
ملف = "" ؛
Frame.Settitle ("My Notepad") ؛
Save.setEnabled (false) ؛
} catch (ioException e) {
E.PrintStackTrace () ؛
}
}
}
صورة التكاثر:
ما سبق هو كل شيء عن هذا المقال ، أتمنى أن تنال إعجابك.