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

📄 word.java

📁 很简单的记事本程序...功能不完全
💻 JAVA
字号:
import java.awt.*; 
import java.awt.event.*; 
import java.awt.print.*; 
import java.awt.datatransfer.*; 
import java.io.*; 
import javax.swing.*; 
import javax.swing.event.*; 
import javax.swing.text.*; 

public class Word extends JPanel 
{ 
JTextArea jta = new JTextArea("", 24, 40); 

JScrollPane jsp = new JScrollPane(jta); 

JMenuBar jmb = new JMenuBar(); 
JMenu file = new JMenu("文件"); 
JMenu edit = new JMenu("操作"); 
JMenu help = new JMenu("帮助"); 


JToolBar toolBar = new JToolBar(); 

JMenuItem jmi; 

Clipboard clipbd = getToolkit().getSystemClipboard(); 

PrinterJob prtMe = PrinterJob.getPrinterJob(); 

String text = ""; 

public Word() 
{ 
class newL implements ActionListener 
{ 
public void actionPerformed(ActionEvent e) 
{ 
jta.setDocument(new PlainDocument()); 
} 
} 

class openL implements ActionListener 
{ 
public void actionPerformed(ActionEvent e) 
{ 
JFileChooser fc = new JFileChooser(); 
int returnVal = fc.showDialog(Word.this, "Open file"); 
if(returnVal == JFileChooser.APPROVE_OPTION) 
{ 
String file = fc.getSelectedFile().getPath(); 
if(file == null) 
{ 
return; 
} 
try 
{ 
Reader in = new FileReader(file); 
char[] buff = new char[4096]; 
int nch; 
while((nch = in.read(buff, 0, buff.length)) != -1) 
{ 
jta.setDocument(new PlainDocument()); 
jta.append(new String(buff, 0, nch)); 
} 
} 
catch (IOException io) 
{ 
System.err.println("IOException: " + io.getMessage()); 
} 
} 
else 
{ 
return; 
} 
} 
} 

class saveL implements ActionListener 
{ 
public void actionPerformed(ActionEvent e) 
{ 
JFileChooser fc = new JFileChooser(); 
int returnVal = fc.showSaveDialog(Word.this); 
if(returnVal == JFileChooser.APPROVE_OPTION) 
{ 
String savefile = fc.getSelectedFile().getPath(); 
if(savefile == null) 
{ 
return; 
} 
else 
{ 
String docToSave = jta.getText(); 
if(docToSave != null) 
{ 
FileOutputStream fstrm = null; 
BufferedOutputStream ostrm = null; 
try 
{ 
fstrm = new FileOutputStream(savefile); 
ostrm = new BufferedOutputStream(fstrm); 
byte[] bytes = null; 
try 
{ 
bytes = docToSave.getBytes(); 
} 
catch(Exception e1) 
{ 
e1.printStackTrace(); 
} 
ostrm.write(bytes); 
} 
catch(IOException io) 
{ 
System.err.println("IOException: " + 
io.getMessage()); 
} 
finally 
{ 
try 
{ 
ostrm.flush(); 
fstrm.close(); 
ostrm.close(); 
} 
catch(IOException ioe) 
{ 
System.err.println("IOException: " + 
ioe.getMessage()); 
} 
} 
} 
} 
} 
else 
{ 
return; 
} 
} 
} 

class pageSetupL implements ActionListener 
{ 
public void actionPerformed(ActionEvent e) 
{ 
prtMe.printDialog(); 
} 
} 

class printL implements ActionListener 
{ 
public void actionPerformed(ActionEvent e) 
{ 
try 
{ 
prtMe.print(); 
} 
catch(Exception ew) 
{ 
} 
} 
} 

class exitL implements ActionListener 
{ 
public void actionPerformed(ActionEvent e) 
{ 
System.exit(0); 
} 
} 

class copyL implements ActionListener 
{ 
public void actionPerformed(ActionEvent e) 
{ 
String selection = jta.getSelectedText(); 
StringSelection clipString = new StringSelection(selection); 
clipbd.setContents(clipString, clipString); 
} 
} 

class cutL implements ActionListener 
{ 
public void actionPerformed(ActionEvent e) 
{ 
String selection = jta.getSelectedText(); 
StringSelection clipString = new StringSelection(selection); 
clipbd.setContents(clipString, clipString); 
jta.replaceRange("", jta.getSelectionStart(), 
jta.getSelectionEnd()); 
} 
} 

class pasteL implements ActionListener 
{ 
public void actionPerformed(ActionEvent e) 
{ 
Transferable clipData = clipbd.getContents(Word.this); 
try 
{ 
String clipString = 
(String)clipData.getTransferData( 
DataFlavor.stringFlavor); 
jta.replaceRange(clipString, 
jta.getSelectionStart(), jta.getSelectionEnd()); 
} 
catch(Exception ex) 
{ 
} 
} 
} 

class deleteL implements ActionListener 
{ 
public void actionPerformed(ActionEvent e) 
{ 
String selection = jta.getSelectedText(); 
jta.replaceRange("", jta.getSelectionStart(), 
jta.getSelectionEnd()); 
} 
} 

class selectAllL implements ActionListener 
{ 
public void actionPerformed(ActionEvent e) 
{ 
jta.selectAll(); 
} 
} 

class findL implements ActionListener 
{ 
public void actionPerformed(ActionEvent e) 
{ 
String find = ""; 
find = JOptionPane.showInputDialog( 
"Find what: "); 
} 
} 

class findNextL implements ActionListener 
{ 
public void actionPerformed(ActionEvent e) 
{ 
} 
} 

class aboutL implements ActionListener 
{ 
public void actionPerformed(ActionEvent e) 
{ 
JOptionPane.showMessageDialog(null, 
"制作人:王祯"); 
} 
} 

class jtaL implements ActionListener 
{ 
public void actionPerformed(ActionEvent e) 
{ 
} 
} 

file.add(jmi = new JMenuItem("新建", KeyEvent.VK_N)); 
jmi.addActionListener(new newL()); 
file.add(jmi = new JMenuItem("打开", KeyEvent.VK_O)); 
jmi.addActionListener(new openL()); 
file.add(jmi = new JMenuItem("保存", KeyEvent.VK_S)); 
jmi.addActionListener(new saveL()); 
file.addSeparator(); 
file.add(jmi = new JMenuItem("打印预览", KeyEvent.VK_G)); 
jmi.addActionListener(new pageSetupL()); 
file.add(jmi = new JMenuItem("打印", KeyEvent.VK_P)); 
jmi.addActionListener(new printL()); 
file.addSeparator(); 
file.add(jmi = new JMenuItem("退出", KeyEvent.VK_X)); 
jmi.addActionListener(new exitL()); 

edit.add(jmi = new JMenuItem("复制", KeyEvent.VK_C)); 
jmi.addActionListener(new copyL()); 
edit.add(jmi = new JMenuItem("剪切", KeyEvent.VK_T)); 
jmi.addActionListener(new cutL()); 
edit.add(jmi = new JMenuItem("粘贴", KeyEvent.VK_P)); 
jmi.addActionListener(new pasteL()); 
edit.add(jmi = new JMenuItem("删除", KeyEvent.VK_D)); 
jmi.addActionListener(new deleteL()); 
edit.addSeparator(); 
edit.add(jmi = new JMenuItem("选择全部", KeyEvent.VK_A)); 
jmi.addActionListener(new selectAllL()); 

help.add(jmi = new JMenuItem("关于", KeyEvent.VK_A)); 
jmi.addActionListener(new aboutL()); 

setLayout(new BorderLayout()); 
file.setMnemonic(KeyEvent.VK_F); 
jmb.add(file); 
edit.setMnemonic(KeyEvent.VK_E); 
jmb.add(edit); 


help.setMnemonic(KeyEvent.VK_H); 
jmb.add(help); 

toolBar.setFloatable(true); 
addButtons(toolBar); 

add(jmb, BorderLayout.NORTH); 
add(toolBar, BorderLayout.CENTER); 
add(jsp, BorderLayout.SOUTH); 

jta.getCaret().setVisible(true); 
jta.setCaretPosition(0); 
} 

public static void main(String args[]) 
{ 
JFrame f = new JFrame(); 
Word applet = new Word(); 
f.setTitle("Word"); 
f.setBackground(Color.lightGray); 
f.getContentPane().add(applet, BorderLayout.CENTER); 
f.addWindowListener(new appCloseL()); 
f.setSize(800, 500); 
f.setVisible(true); 
f.pack(); 
} 

protected void addButtons(JToolBar toolBar) 
{ 
JButton button = new JButton( ); 
button.setToolTipText("新建文档"); 
button.addActionListener(new ActionListener() 
{ 
public void actionPerformed(ActionEvent e) 
{ 
jta.setDocument(new PlainDocument()); 
} 
}); 
toolBar.add(button); 

JButton button1 = new JButton( ); 
button1.setToolTipText("打开文档"); 
button1.addActionListener(new ActionListener() 
{ 
public void actionPerformed(ActionEvent e) 
{ 
JFileChooser fc = new JFileChooser(); 
int returnVal = fc.showDialog(Word.this, "Open file"); 
if(returnVal == JFileChooser.APPROVE_OPTION) 
{ 
String file = fc.getSelectedFile().getPath(); 
if(file == null) 
{ 
return; 
} 
try 
{ 
Reader in = new FileReader(file); 
char[] buff = new char[4096]; 
int nch; 
while((nch = in.read(buff, 0, buff.length)) != -1) 
{ 
jta.setDocument(new PlainDocument()); 
jta.append(new String(buff, 0, nch)); 
} 
} 
catch (IOException io) 
{ 
System.err.println("IOException: " + io.getMessage()); 
} 
} 
else 
{ 
return; 
} 
} 
}); 
toolBar.add(button1); 

JButton button2 = new JButton( ); 
button2.setToolTipText("保存"); 
button2.addActionListener(new ActionListener() 
{ 
public void actionPerformed(ActionEvent e) 
{ 
JFileChooser fc = new JFileChooser(); 
int returnVal = fc.showSaveDialog(Word.this); 
if(returnVal == JFileChooser.APPROVE_OPTION) 
{ 
String savefile = fc.getSelectedFile().getPath(); 
if(savefile == null) 
{ 
return; 
} 
else 
{ 
String docToSave = jta.getText(); 
if(docToSave != null) 
{ 
FileOutputStream fstrm = null; 
BufferedOutputStream ostrm = null; 
try 
{ 
fstrm = new FileOutputStream(savefile); 
ostrm = new BufferedOutputStream(fstrm); 
byte[] bytes = null; 
try 
{ 
bytes = docToSave.getBytes(); 
} 
catch(Exception e1) 
{ 
e1.printStackTrace(); 
} 
ostrm.write(bytes); 
} 
catch(IOException io) 
{ 
System.err.println("IOException: " + 
io.getMessage()); 
} 
finally 
{ 
try 
{ 
ostrm.flush(); 
fstrm.close(); 
ostrm.close(); 
} 
catch(IOException ioe) 
{ 
System.err.println("IOException: " + 
ioe.getMessage()); 
} 
} 
} 
} 
} 
else 
{ 
return; 
} 
} 
}); 
toolBar.add(button2); 

JButton button3 = new JButton( ); 
button3.setToolTipText("复制"); 
button3.addActionListener(new ActionListener() 
{ 
public void actionPerformed(ActionEvent e) 
{ 
String selection = jta.getSelectedText(); 
StringSelection clipString = new StringSelection(selection); 
clipbd.setContents(clipString, clipString); 
} 
}); 
toolBar.add(button3); 

JButton button4 = new JButton( ); 
button4.setToolTipText("剪切"); 
button4.addActionListener(new ActionListener() 
{ 
public void actionPerformed(ActionEvent e) 
{ 
String selection = jta.getSelectedText(); 
StringSelection clipString = new StringSelection(selection); 
clipbd.setContents(clipString, clipString); 
jta.replaceRange("", jta.getSelectionStart(), 
jta.getSelectionEnd()); 
} 
}); 
toolBar.add(button4); 

JButton button5 = new JButton( ); 
button5.setToolTipText("粘贴"); 
button5.addActionListener(new ActionListener() 
{ 
public void actionPerformed(ActionEvent e) 
{ 
Transferable clipData = clipbd.getContents(Word.this); 
try 
{ 
String clipString = 
(String)clipData.getTransferData( 
DataFlavor.stringFlavor); 
jta.replaceRange(clipString, 
jta.getSelectionStart(), jta.getSelectionEnd()); 
} 
catch(Exception ex) 
{ 
} 
} 
}); 
toolBar.add(button5); 

JButton button6 = new JButton( ); 
button6.setToolTipText("关于"); 
button6.addActionListener(new ActionListener() 
{ 
public void actionPerformed(ActionEvent e) 
{ 
JOptionPane.showMessageDialog(null, 
"制作人:王祯"); 
} 
}); 
toolBar.add(button6); 
} 

protected static final class appCloseL extends WindowAdapter 
{ 
public void windowClosing(WindowEvent e) 
{ 
System.exit(0); 
} 
} 
}

⌨️ 快捷键说明

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