用java實現一個記事本(用java實現一個記事本的過程)

本文目錄一覽:

如何用JAVA編寫簡單的記事本程序?

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.event.*;

import java.io.*;

import java.awt.datatransfer.*;public class NewEdit

{

public static void main(String args[])

{

MyFrame EditFrame=new MyFrame();

EditFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

EditFrame.setVisible(true);

}

}class MyFrame extends JFrame

{

public MyFrame()

{ Dimension screenSize=toolKit.getScreenSize();

int screenHeight=screenSize.height;

int screenWidth=screenSize.width;

setSize(screenWidth/2,screenHeight/2);

setLocation(screenWidth/4,screenHeight/4);

Image img=toolKit.getImage(“icon.gif”);

setIconImage(img);

setTitle(“MyEdit”);

JMenuBar menuBar=new JMenuBar();

setJMenuBar(menuBar);

JMenu fileMenu=new JMenu(“文件”);

JMenu editMenu=new JMenu(“編輯”);

JMenu helpMenu=new JMenu(“幫助”);

menuBar.add(fileMenu);

menuBar.add(editMenu);

menuBar.add(helpMenu);

JMenuItem newItem=new JMenuItem(“新建”);

newItem.addActionListener(new NewListener());

JMenuItem openItem=new JMenuItem(“打開”);

openItem.addActionListener(new OpenListener());

JMenuItem saveItem=new JMenuItem(“保存”);

saveItem.addActionListener(new SaveListener());

JMenuItem escItem=new JMenuItem(“退出”);

escItem.addActionListener(new

ActionListener()

{

public void actionPerformed(ActionEvent myE)

{

System.exit(0);

}

});

fileMenu.add(newItem);

fileMenu.add(openItem);

fileMenu.add(saveItem);

fileMenu.add(escItem);

JMenuItem allItem=new JMenuItem(“全選”);

//JMenuItem copyItem=new JMenuItem(“複製”);

//CopyAction copyAction=new CopyAction();

//copyItem.addActionListener(copyAction);

JMenuItem cutItem=new JMenuItem(“剪切”);

//JMenuItem pasteItem=new JMenuItem(“粘貼”);

//Action pasteAction=new PasteAction();

//pasteItem.addActionListener(pasteAction);

editMenu.add(allItem);

allItem.addActionListener(new

ActionListener()

{

public void actionPerformed(ActionEvent myE)

{

textArea.selectAll();

}

});

CopyAction copyAction=new CopyAction(“剪切”);

editMenu.add(copyAction);

CutAction cutAction=new CutAction(“複製”);

editMenu.add(cutAction);

Action pasteAction=new PasteAction(“粘貼”);

editMenu.add(pasteAction);

popup=new JPopupMenu();

popup.add(copyAction);

popup.add(pasteAction);

popup.add(cutAction);

textArea = new JTextArea();

textArea.add(popup);

textArea.addMouseListener(new

MouseListener(){

public void mouseClicked(MouseEvent e) {} public void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {} public void mousePressed(MouseEvent e) {

if (e.getButton() == MouseEvent.BUTTON3)

{

popup.show(textArea, e.getX(), e.getY());

}

} public void mouseReleased(MouseEvent e) {} });//可嘗試用MouseAdapter,代碼可能更簡單

JScrollPane scroller = new JScrollPane(textArea);

add(scroller);

//OR–this.getContentPane().add(scroller)

//scroller.setComponentPopupMenu(popup);

//textArea.setInheritsPopupMenu(true);

//scroller.addMouseListener(new MouseAdapter(){});

}

public void writeFile(String fileName)

{

try

{

File file = new File(fileName);

FileWriter write = new FileWriter(file);

write.write(textArea.getText());

write.close();

}

catch(Exception e){

System.out.println(“Error closing file!”);

}

}

public void openFile(String fileName)

{

try

{

File file = new File(fileName);

FileReader readIn = new FileReader(file);

int size = (int)file.length();

int charsRead = 0;

char[] content = new char[size];

while(readIn.ready())

charsRead += readIn.read(content,charsRead,size-charsRead);

readIn.close();

textArea.setText(new String(content,0,charsRead));

}

catch(IOException e)

{

System.out.println(“Error opening file!”);

}

}

private class NewListener implements ActionListener

{

public void actionPerformed(ActionEvent myE)

{

textArea.setText(“”);

}

}

private class OpenListener implements ActionListener

{

public void actionPerformed(ActionEvent myE)

{

openFileDialog.setVisible(true);

fileName = openFileDialog.getDirectory()+openFileDialog.getFile();

if(fileName != null)

{

openFile(fileName);

}

}

}

private class SaveListener implements ActionListener

{

public void actionPerformed(ActionEvent myE)

{

saveFileDialog.setVisible(true);

fileName = saveFileDialog.getDirectory()+saveFileDialog.getFile();

if(fileName !=null)

{

writeFile(fileName);

}

}

}

private class CutAction extends AbstractAction

{

public CutAction(String name)

{

super(name);

}

public void actionPerformed(ActionEvent event)

{

String text = textArea.getSelectedText();

StringSelection selection = new StringSelection(text);

clipboard.setContents(selection,null);

textArea.replaceRange(“”,textArea.getSelectionStart(),

textArea.getSelectionEnd());

}

}

private class CopyAction extends AbstractAction

{

public CopyAction(String name)

{

super(name);

}

public void actionPerformed(ActionEvent event)

{

String text = textArea.getSelectedText();

StringSelection selection= new StringSelection(text);

clipboard.setContents(selection,null);

}

}

private class PasteAction extends AbstractAction

{

public PasteAction(String name)

{

super(name);

}

public void actionPerformed(ActionEvent event)

{

Transferable contents = clipboard.getContents(this);

if(contents==null)

return;

String text;

text=””;

try

{

text = (String)contents.getTransferData(DataFlavor.stringFlavor);

}

catch(Exception ex){}

textArea.replaceRange(text,

textArea.getSelectionStart(),textArea.getSelectionEnd());

}

}

private JTextArea textArea;

private JPopupMenu popup;

private String fileName=””;

private FileDialog openFileDialog=new FileDialog(this,”OpenFile”,FileDialog.LOAD); private FileDialog saveFileDialog=new FileDialog(this,”SaveFile”,FileDialog.SAVE);

Toolkit toolKit = Toolkit.getDefaultToolkit();

private Clipboard clipboard = toolKit.getSystemClipboard();}

用JAVA編寫一個記事本?

public class MyText2 extends JFrame {

private JMenuBar mb;

private JMenu 文件, 編輯, 格式, 查看, 幫助;

private JTextArea editorArea;

public MyText2() {

super();

mb = new JMenuBar();

文件 = new JMenu(“文件”);

編輯 = new JMenu(“編輯”);

格式 = new JMenu(“格式”);

幫助 = new JMenu(“幫助”);

查看 = new JMenu(“查看”);

mb.add(文件);

mb.add(編輯);

mb.add(格式);

mb.add(查看);

mb.add(幫助);

setJMenuBar(mb);

Container container = getContentPane();

editorArea = new JTextArea();

editorArea.setLineWrap(true);

JScrollPane scrollPane = new JScrollPane(editorArea);

container.add(scrollPane);

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e){

dispose();

}

});

setTitle(“MyText”);

setSize(600, 400);

setVisible(true);

}

public static void main(String args[]) {

MyText2 app = new MyText2();

}

}

java編寫簡單記事本

方法/步驟

下載JDK,並安裝成功,CMD測試Java環境安裝成功。出現如下提示則Java環境安裝成功

打開mycelipse進入主界面,點擊左上角file–new—java project,新建一個Java項目,項目名字任意取,這裡我取名為note–然後點擊完成,創建Java項目

然後右鍵項目下的src–new—package,新建一個包,包名我定為notetest,然後點擊完成

然後右鍵我們建立好的包notetest–new–class,包名為Note,點擊完成

首先我們想導入工程所需要的包,以便編寫程序時進行調用

package notepad;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import java.io.BufferedReader;

import java.io.BufferedWriter;

首先定義好編寫程序時變數,我們設為成員變數方便以後調用

public class Notepad{

//屏幕解析度

int width = Toolkit.getDefaultToolkit().getScreenSize().width;

int height = Toolkit.getDefaultToolkit().getScreenSize().height;

//窗體

private Frame frm ;

//顯示內容多行文本

private TextArea notetext;

//記事本菜單

private MenuBar mb;

//菜單

private Menu m ;

//菜單項

private MenuItem open,save;

為程序創建組件–Frame–菜單欄目–文本框TextArea

public Notepad(){init();}

private void init(){

frm = new Frame(“模擬記事本”);

//設置菜單

mb = new MenuBar();

m = new Menu(“文件”);

//顯示文件的地方

notetext = new TextArea();

notetext.setBounds(30, 50, 750, 500);

frm.add(notetext);

myEvent();

為控制項和按鈕添加監聽事件

private void myEvent() {

//打開菜單的事件處理

open.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

//判斷路徑和文件名是否為空 如果為空結束程序

if(dir == null || name == null)

//如果不為空講路徑名和文件名封裝到File對象里

file = new File(dir,name);

//使用字元緩衝讀取文件

BufferedReader bfr = null;

try {

bfr = new BufferedReader(new FileReader(file));

});

save.addActionListener(new ActionListener(){

//獲取路徑和文件名

String dir =fd.getDirectory();

String name = fd.getFile();

//如果不為空講路徑名和文件名封裝到File對象里

file = new File(dir,name);

}

BufferedWriter bfr= null;

}

});

}

}

然後創建主方法,開始測試程序,新建一個NoteDemo類

package notepad;

public class NoteDemo {

public static void main(String[] args) {

new Notepad();

}

}

如何用JAVA程序編寫一個記事本

import java.io.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.undo.CannotRedoException;

import javax.swing.undo.UndoManager;

import java.util.Date;

import java.text.SimpleDateFormat;

public class Notepad extends JFrame {

// 菜單

JMenuBar menub = new JMenuBar();

// 顯示純文本的多行區域

JTextArea text = new JTextArea();

JMenu files = new JMenu(“文件(F)”);

JMenu edit = new JMenu(“編輯(E)”);

JMenu formats = new JMenu(“格式(O)”);

JMenu help = new JMenu(“幫助(H)”);

JMenuItem newFile = new JMenuItem(“新建(N)”);

JMenuItem open = new JMenuItem(“打開(O)”);

JMenuItem save = new JMenuItem(“保存(S)”);

JMenuItem saveAs = new JMenuItem(“另存為(A)”);

JMenuItem exit = new JMenuItem(“退出(X)”);

JMenuItem undo = new JMenuItem(“撤銷(U)”);

JMenuItem cut = new JMenuItem(“剪切(T)”);

JMenuItem copy = new JMenuItem(“複製(C)”);

JMenuItem paste = new JMenuItem(“粘貼(P)”);

JMenuItem selectAll = new JMenuItem(“全選(A)”);

JMenuItem timeDate = new JMenuItem(“時間/日期(D)”);

JCheckBoxMenuItem lineWrap = new JCheckBoxMenuItem(“自動換行(M)”);

JMenuItem fonts = new JMenuItem(“字體”);

JMenuItem about = new JMenuItem(“關於記事本(A)”);

JFrame th = this;

String name;

String openedPath = null;

boolean opened = false;

boolean reworked = false;

UndoManager undoManager = new UndoManager();

// 初始化窗體

public Notepad(String name) {

super(name);

this.name = name;

int x, y;

// 得到用戶屏幕大小

Dimension size = Toolkit.getDefaultToolkit().getScreenSize();

x = (size.width – 600) / 2;

y = (size.height – 400) / 2;

setSize(600, 400);

// 讓程序界面顯示在屏幕中央

setLocation(x, y);

// 將此窗口的最小大小設置為一個常量值。

setMinimumSize(new Dimension(250, 150));

setDefaultCloseOperation(EXIT_ON_CLOSE);

}

// 初始化布局

void init() {

files.setMnemonic(‘F’);

edit.setMnemonic(‘E’);

formats.setMnemonic(‘O’);

help.setMnemonic(‘H’);

newFile.setMnemonic(‘N’);

open.setMnemonic(‘O’);

save.setMnemonic(‘S’);

saveAs.setMnemonic(‘A’);

exit.setMnemonic(‘X’);

undo.setMnemonic(‘U’);

cut.setMnemonic(‘T’);

copy.setMnemonic(‘C’);

paste.setMnemonic(‘P’);

selectAll.setMnemonic(‘A’);

timeDate.setMnemonic(‘D’);

lineWrap.setMnemonic(‘M’);

about.setMnemonic(‘A’);

// 為控制項添加助記符

newFile.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,

InputEvent.CTRL_MASK));

open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,

InputEvent.CTRL_MASK));

save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,

InputEvent.CTRL_MASK));

exit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q,

InputEvent.CTRL_MASK));

cut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,

InputEvent.CTRL_MASK));

copy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,

InputEvent.CTRL_MASK));

paste.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,

InputEvent.CTRL_MASK));

selectAll.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,

InputEvent.CTRL_MASK));

// 為控制項添加快捷鍵

timeDate.setAccelerator(KeyStroke.getKeyStroke(“F5”));

files.add(newFile);

files.add(open);

files.add(save);

files.add(saveAs);

files.addSeparator();

files.add(exit);

edit.add(undo);

edit.addSeparator();

edit.add(cut);

edit.add(copy);

edit.add(paste);

edit.addSeparator();

edit.add(selectAll);

edit.add(timeDate);

formats.add(lineWrap);

formats.add(fonts);

help.add(about);

menub.add(files);

menub.add(edit);

menub.add(formats);

menub.add(help);

setJMenuBar(menub);

getContentPane().add(new JScrollPane(text));

Listen listen = new Listen();

Listen1 listen1 = new Listen1();

// 為控制項添加事件偵聽器

newFile.addActionListener(listen);

undo.addActionListener(listen);

open.addActionListener(listen);

save.addActionListener(listen);

saveAs.addActionListener(listen);

exit.addActionListener(listen);

cut.addActionListener(listen);

copy.addActionListener(listen);

paste.addActionListener(listen);

selectAll.addActionListener(listen);

timeDate.addActionListener(listen);

lineWrap.addActionListener(listen);

about.addActionListener(listen);

open.addActionListener(listen1);

save.addActionListener(listen1);

saveAs.addActionListener(listen1);

// 暫時沒有實現的功能 :設置字體

//undo功能沒有實現

fonts.setEnabled(false);

}

class Listen implements ActionListener {

// 實現用於一般操作的事件偵聽器

public void actionPerformed(ActionEvent e) {

Object source = e.getSource();

if (source == newFile) {

text.setText(“”);

// 設置標題

th.setTitle(name);

openedPath = null;

opened = false;

} else if (source == exit)

setVisible(false);

else if (source == undo)

try {

//此功能沒有實現 撤銷要用棧?

// undo.setEnabled(undoManager.canUndo());

undoManager.undo();

} catch (CannotRedoException cre) {

cre.printStackTrace();

}

else if (source == selectAll)

text.selectAll();

else if (source == cut)

text.cut();

else if (source == copy)

text.copy();

else if (source == paste)

text.paste();

else if (source == lineWrap)

// 設置文本區的換行策略(獲取文本區的換行策略)

text.setLineWrap(!text.getLineWrap());

else if (source == about) {

String message = “——–\n版本:1.0\n作者:時超” +

“\n撤銷功能要用堆棧存貯操作” +

“\n還有字體格式”+

“\n暫時沒有實現” +

“\n\n感謝您的使用”;

JOptionPane.showMessageDialog(th, message, “關於”,

JOptionPane.PLAIN_MESSAGE);

} else if (source == timeDate) {

Date nowTime = new Date();

SimpleDateFormat times = new SimpleDateFormat(

“HH:mm yyyy-MM-dd”);

text.insert(times.format(nowTime), text.getCaretPosition());

}

}

}

class Listen1 implements ActionListener {

// 實現用於對文件進行操作的事件偵聽器

public void actionPerformed(ActionEvent e) {

Object source = e.getSource();

// 打開文件事件

if (source == open) {

// 顯示對話窗口 以便選擇文件

FileDialog openFile = new FileDialog(th, “打開文件”,

FileDialog.LOAD);

openFile.setVisible(true);

// 獲取文件路徑

String filePath = openFile.getDirectory() + openFile.getFile();

try {

FileInputStream fis = new FileInputStream(filePath);

byte[] content = new byte[fis.available()];

fis.read(content);

text.setText(new String(content));

// 設置 TextComponent 的文本插入符的位置

text.setCaretPosition(0);

if (openFile.getFile() != null) {

th.setTitle(openFile.getFile() + name);

openedPath = filePath;

opened = true;

}

fis.close();

} catch (Exception ex) {

ex.printStackTrace();

}

opened = true;

}

// 保存及另存為事件

else if (source == save || source == saveAs) {

String savePath = openedPath;

if (savePath == null || source == saveAs) {

// 如果 mode 的值為 LOAD,那麼文件對話框將查找要讀取的文件,所顯示的文件是當前目錄中的文件

// 如果 mode 的值為 SAVE,則文件對話框將查找要寫入文件的位置。

FileDialog saveFile = new FileDialog(th, “保存文件”,

FileDialog.SAVE);

saveFile.setVisible(true);

savePath = saveFile.getDirectory() + saveFile.getFile();

}

try {

FileOutputStream fos = new FileOutputStream(savePath);

fos.write(text.getText().getBytes());

fos.close();

} catch (Exception ex) {

ex.printStackTrace();

}

if (source == save)

openedPath = savePath;

}

}

}

public static void main(String[] args) {

try {

// 使用當前線程的上下文類載入器載入給定類名稱所指定的 LookAndFeel

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

} catch (Exception e) {

System.err.println(“Couldn’t use the system look and feel:” + e);

}

String name = (“–記事本 版本1.0–“);

Notepad note = new Notepad(name);

note.init();

note.setVisible(true);

}

}

如何用java一步步編出一個記事本程序

一、要創建一個Frame或者JFrame現在基本上都用後者

二、要建立你的控制項,就是面板Jpanel菜單JMenu\JMenuItem等,寫字板textArea等,

三、動作監聽器,addActionListener

四、就是你的布局了

一下是一個可以運行的,你看看

package mySwing;

import javax.swing.*;

import javax.swing.event.*;

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import java.awt.color.*;

import java.awt.font.*;

import javax.swing.plaf.metal.MetalLookAndFeel;

import javax.swing.undo.*;

public class Note extends JFrame {

boolean isChange = false;

boolean wasChange = false;

JMenuBar menuBar = new JMenuBar();

JMenu menuFile = new JMenu(“File”);

JMenuItem menuFileOpen = new JMenuItem(“Open..”);

JMenuItem menuFileSave = new JMenuItem(“Save..”);

JMenuItem menuFileExit = new JMenuItem(“Exit”);

JMenu menuEdit = new JMenu(“Edit”);

JMenuItem menuFileCut = new JMenuItem(“Cut”);

JMenuItem font = new JMenuItem(“Font”);

JMenuItem menuFilePaste = new JMenuItem(“Paste”);

JTextArea fileArea = new JTextArea();

public Note() {

//menuFile.setIcon(new ImageIcon(“D:\\���컢���ļ�\\eclipswork\\MyTest\\bin\\remove.png”));

// fileArea.setBorder(BorderFactory.createTitledBorder(“mytextArea”));

this.setTitle(“���±�”);

Toolkit tool = this.getToolkit();// ����ͼ�꣡

Image myimage = tool.getImage(“����.jpg”);

this.setIconImage(myimage);

setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

exit();

}

});

menuFileOpen.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

//fileOpen_actionPerformed(e);

}

});

menuFileSave.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

fileSave_actionPerformed(e);

}

});

menuFileExit.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

fileExit_actionPerformed(e);

}

});

menuFileCut.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

fileCut_actionPerformed(e);

}

});

menuFilePaste.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

filePaste_actionPerformed(e);

}

});

font.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

fileColor_actionPerformed(e);

}

});

fileArea.getDocument().addDocumentListener(new DocumentListener() {

public void insertUpdate(DocumentEvent e) {

wasChange = isChange;

isChange = true;

}

public void removeUpdate(DocumentEvent e) {

wasChange = isChange;

isChange = true;

}

public void changedUpdate(DocumentEvent e) {

wasChange = isChange;

isChange = true;

}

});

setSize(500, 450);

menuBar.add(menuFile);

menuFile.setMnemonic(‘F’);

menuBar.add(menuEdit);

menuEdit.setMnemonic(‘E’);

menuFile.add(menuFileOpen);

menuFileOpen.setMnemonic(‘O’);// ���ʽ�;

menuFileOpen.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,

InputEvent.CTRL_MASK));// ��ݽ�;

menuFile.add(menuFileSave);

menuFileSave.setMnemonic(‘S’);

menuFileSave.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,

InputEvent.CTRL_MASK));

menuFile.addSeparator();

menuFile.add(menuFileExit);

menuFileExit.setMnemonic(‘E’);

menuEdit.add(menuFileCut);

menuFileCut.setMnemonic(‘C’);

menuFileCut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,

InputEvent.CTRL_MASK));

menuEdit.add(menuFilePaste);

menuFilePaste.setMnemonic(‘P’);

menuFilePaste.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,

InputEvent.CTRL_MASK));

menuEdit.add(font);

font.setMnemonic(‘N’);

font.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,

InputEvent.CTRL_MASK));

this.getContentPane().add(new JScrollPane(fileArea));

setJMenuBar(menuBar);

fileArea.setLineWrap(true);

}

public void fileExit_actionPerformed(ActionEvent e) {

System.exit(0);

}

public void fileOpen_actionPerformed(ActionEvent e) {

// ������filter;

JFileChooser fileChooser = new JFileChooser();

// fileChooser.addChoosableFileFilter(new

// myFilter(“*.txt”,”Files(*.txt)”));

fileChooser.addChoosableFileFilter(fileChooser.getFileFilter());

if (fileChooser.APPROVE_OPTION != fileChooser.showOpenDialog(this))

return;

// ���������

BufferedReader dataIn = null;

try {

dataIn = new BufferedReader(new FileReader(fileChooser

.getSelectedFile().getPath()));

String c = null;

do {

c = dataIn.readLine();

if (c != null)

fileArea.append(c + “\n”);

} while (c != null);

} catch (Exception ex) {

System.out.println(“Catch exception:” + ex.toString());

}

}

public void exit() {

if (isChange == false)

System.exit(1);

else {

int decision = JOptionPane.showConfirmDialog(this,

“The File has Change.\n”

+ “Do you want to save the change?”, “Notepad”,

JOptionPane.YES_NO_CANCEL_OPTION,

JOptionPane.WARNING_MESSAGE);

if (decision == JOptionPane.YES_OPTION) {

// �����ǽ��ļ�д������!

try {

JFileChooser fileSave = new JFileChooser();

fileSave.setDialogTitle(“�����ļ�”);

// fileSave.addChoosableFileFilter(new

// myFilter(“*.txt”,”Files(*.txt)”));

fileSave.addChoosableFileFilter(fileSave.getFileFilter());

if (fileSave.APPROVE_OPTION != fileSave

.showSaveDialog(this))

return;

BufferedWriter dataOut = new BufferedWriter(

new BufferedWriter(new FileWriter(fileSave

.getSelectedFile())));

String c = null;

isChange = false;

do {

String str = fileArea.getText();

dataOut.write(str);

dataOut.close();

} while (c != null);

} catch (Exception e2) {

System.out.println(“Catch exception:�д���!” + e2.toString());

}

} else if (decision == JOptionPane.NO_OPTION)

System.exit(1);

else if (decision == JOptionPane.CANCEL_OPTION)

;

;

}

// innerclass.fileSave_actionPerformed();

}

public void fileSave_actionPerformed(ActionEvent e1) {

// �����ǽ��ļ�д������!

try {

JFileChooser fileSave = new JFileChooser();

fileSave.setDialogTitle(“�����ļ�”);

// fileSave.addChoosableFileFilter(new

// myFilter(“*.txt”,”Files(*.txt)”));

fileSave.addChoosableFileFilter(fileSave.getFileFilter());

if (fileSave.APPROVE_OPTION != fileSave.showSaveDialog(this))

return;

BufferedWriter dataOut = new BufferedWriter(new BufferedWriter(

new FileWriter(fileSave.getSelectedFile() + “.txt”)));

// RandomAccessFile dataOut=new

// RandomAccessFile(fileSave.getSelectedFile(),”rw”);

String c = null;

isChange = false;

do {

String str = fileArea.getText();

dataOut.write(str);

dataOut.close();

} while (c != null);

} catch (Exception e2) {

System.out.println(“Catch exception:�д���!” + e2.toString());

}

}

public static void main(String arg[]) {

//new MyUIManager();

Note nt = new Note();

JLookAndFeelMenu menu = new JLookAndFeelMenu(nt);

nt.menuBar.add(menu);

nt.show();

}

public void fileCut_actionPerformed(ActionEvent e) {

fileArea.cut();

}

public void filePaste_actionPerformed(ActionEvent e) {

fileArea.paste();

}

public void fileColor_actionPerformed(ActionEvent e) {

JColorChooser fileColor = new JColorChooser();

// fileArea.setForeground(fileColor.showDialog(this,”��ɫ”,Color.red));

// fileArea.setSelectionColor(fileColor.showDialog(this,”��ɫ”,Color.red));

fileArea.setSelectionColor(fileColor

.showDialog(this, “��ɫ”, Color.black));

}

}

原創文章,作者:V4LPU,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/129170.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
V4LPU的頭像V4LPU
上一篇 2024-10-03 23:26
下一篇 2024-10-03 23:26

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論