⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 javaword.txt

📁 java word,实现了微软记事本的所有功能
💻 TXT
字号:
楼上的无法编译..我整理了一下,代码如下: 
import java.awt.*; 
import java.io.*; 

public class MyClipboard extends Frame implements ActionListener { 
/** 
* 
*/ 
private static final long serialVersionUID = 5541943532647624059L; 

private TextArea editor = new TextArea(); 

private MyFile mf = new MyFile(this); 

private MyClipboard1 cb =new MyClipboard1(); 

private MyFindDialog findDlg = new MyFindDialog(this, editor); 

public MyClipboard(String title) { 
super(title); 
MyMenuBar mb = new MyMenuBar(this); 
mb.addMenus(new String[] { "文件", "编辑", "查找", "帮助" }); 
mb.addMenuItems(0, new String[] { "新建", "打开", "保存", null, "退出" }); 
mb.addMenuItems(1, new String[] { "剪贴", "复制", "粘贴", "清除", null, "全选" }); 
mb.addMenuItems(2, new String[] { "查找", null, "查找替换" }); 
mb.addMenuItems(3, new String[] { "我的记事本信息" }); 
add(editor); 
mb.addActionListener(this); 
addWindowListener(new WindowAdapter() { 
public void windowClosing(WindowEvent e) { 
MyClipboard.this.dispose(); 
} 
}); 
} 

public void actionPerformed(ActionEvent e) { 
String selected = e.getActionCommand(); 
if (selected.equals("新建")) 
editor.setText(""); 
else if (selected.equals("打开")) { 
try { 
editor.setText(mf.getData()); 
} catch (IOException ie) { 
} 
} else if (selected.equals("保存")) { 
try { 
mf.setData(editor.getText()); 
} catch (IOException ie) { 
} 
} else if (selected.equals("退出")) { 
dispose(); 
} else if (selected.equals("剪贴")) { 
cb.setData(editor.getSelectedText()); 
editor.replaceRange("", editor.getSelectionStart(), editor 
.getSelectionEnd()); 
} else if (selected.equals("复制")) { 
cb.setData(editor.getSelectedText()); 
} else if (selected.equals("粘贴")) { 
String str = cb.getData(); 
editor.replaceRange(str, editor.getSelectionStart(), editor 
.getSelectionEnd()); 
} else if (selected.equals("清除")) { 
editor.replaceRange("", editor.getSelectionStart(), editor 
.getSelectionEnd()); 
} else if (selected.equals("全选")) { 
editor.setSelectionStart(0); 
editor.setSelectionEnd(editor.getText().length()); 
} else if (selected.equals("查找")) { 
findDlg.showFind(); 
} else if (selected.equals("查找替换")) { 
findDlg.showReplace(); 
} 
} 

public static void main(String[] args) { 
MyClipboard memo = new MyClipboard("我的记事本"); 
memo.setSize(500, 500); 
memo.setLocation(239, 120); 
memo.setVisible(true); 
} 
} 


class MyClipboard1 { 
private Clipboard cb; 

public MyClipboard1() { 
cb = Toolkit.getDefaultToolkit().getSystemClipboard(); 
} 

public void setData(String data) { 
cb.setContents(new StringSelection(data), null); 
} 

public String getData() { 
Transferable content = cb.getContents(null); 
try { 
return (String) content.getTransferData(DataFlavor.stringFlavor); 
} catch (Exception ue) { 
} 
return null; 
} 
} 

class MyFile { 
private FileDialog fDlg; 

public MyFile(Frame parent) { 
fDlg = new FileDialog(parent, "", FileDialog.LOAD); 
} 

private String getPath() { 
return fDlg.getDirectory() + "\\" + fDlg.getFile(); 
} 

public String getData() throws IOException { 
fDlg.setTitle("打开"); 
fDlg.setMode(FileDialog.LOAD); 
fDlg.setVisible(true); 
BufferedReader br = new BufferedReader(new FileReader(getPath())); 
StringBuffer sb = new StringBuffer(); 
String aline; 
while ((aline = br.readLine()) != null) 
sb.append(aline + '\n'); 
br.close(); 
return sb.toString(); 
} 

public void setData(String data) throws IOException { 
fDlg.setTitle("保存"); 
fDlg.setMode(FileDialog.SAVE); 
fDlg.setVisible(true); 
BufferedWriter bw = new BufferedWriter(new FileWriter(getPath())); 
bw.write(data); 
bw.close(); 
} 
} 

class MyFindDialog extends Dialog implements ActionListener { 
/** 
* 
*/ 
private static final long serialVersionUID = 4380007102323378083L; 

private Label lFind = new Label("查找字符串:"); 

private Label lReplace = new Label("替换字符串:"); 

private TextField tFind = new TextField(10); 

private TextField tReplace = new TextField(10); 

private Button bFind = new Button("查找"); 

private Button bReplace = new Button("替换"); 

private TextArea ta; 

public MyFindDialog(Frame owner, TextArea ta) { 
super(owner, "查找", false); 
this.ta = ta; 
setLayout(null); 
lFind.setBounds(10, 30, 80, 20); 
lReplace.setBounds(10, 70, 80, 20); 
tFind.setBounds(90, 30, 90, 20); 
tReplace.setBounds(90, 70, 90, 20); 
bFind.setBounds(190, 30, 80, 20); 
bReplace.setBounds(190, 70, 80, 20); 
add(lFind); 
add(tFind); 
add(bFind); 
add(lReplace); 
add(tReplace); 
add(bReplace); 
setResizable(false); 
bFind.addActionListener(this); 
bReplace.addActionListener(this); 
addWindowListener(new WindowAdapter() { 
public void windowClosing(WindowEvent e) { 
MyFindDialog.this.dispose(); 
} 
}); 
} 

public void showFind() { 
setTitle("查找"); 
setSize(280, 60); 
setVisible(true); 
} 

public void showReplace() { 
setTitle("查找替换"); 
setSize(280, 110); 
setVisible(true); 
} 

private void find() { 
String text = ta.getText(); 
String str = tFind.getText(); 
int end = text.length(); 
int len = str.length(); 
int start = ta.getSelectionEnd(); 
if (start == end) 
start = 0; 
for (; start <= end - len; start++) { 
if (text.substring(start, start + len).equals(str)) { 
ta.setSelectionStart(start); 
ta.setSelectionEnd(start + len); 
return; 
} 
} 
ta.setSelectionStart(end); 
ta.setSelectionEnd(end); 
} 

private void replace() { 
String str = tReplace.getText(); 
if (ta.getSelectedText().equals(tFind.getText())) 
ta.replaceRange(str, ta.getSelectionStart(), ta.getSelectionEnd()); 
else 
find(); 
} 

public void actionPerformed(ActionEvent e) { 
if (e.getSource() == bFind) 
find(); 
else if (e.getSource() == bReplace) 
replace(); 
} 
} 


class MyMenuBar extends MenuBar implements Serializable { 
/** 
* 
*/ 
private static final long serialVersionUID = 2311645080753585104L; 

public MyMenuBar(Frame parent) { 
parent.setMenuBar(this); 
} 

public void addMenus(String[] menus) { 
for (int i = 0; i < menus.length; i++) 
add(new Menu(menus[i])); 
} 

public void addMenuItems(int menuNumber, String[] items) { 
for (int i = 0; i < items.length; i++) { 
if (items[i] != null) 
getMenu(menuNumber).add(new MenuItem(items[i])); 
else 
getMenu(menuNumber).addSeparator(); 
} 
} 

public void addActionListener(ActionListener al) { 
for (int i = 0; i < getMenuCount(); i++) 
for (int j = 0; j < getMenu(i).getItemCount(); j++) 
getMenu(i).getItem(j).addActionListener(al); 
} 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -