?? writeboard.java
字號:
import java.lang.*;
import java.awt.*;
import java.io.*;
import java.awt.datatransfer.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class WriteBoard extends JFrame implements ActionListener {
JTextArea textArea = new JTextArea();
JMenuBar menuBar = new JMenuBar();
JMenu fileMenu = new JMenu("File");
JMenuItem newItem = new JMenuItem("New");
JMenuItem openItem = new JMenuItem("Open");
JMenuItem saveItem = new JMenuItem("Save");
JMenuItem saveAsItem = new JMenuItem("Save As");
JMenuItem exitItem = new JMenuItem("Exit");
JMenu editMenu = new JMenu("Edit");
JMenuItem selectItem = new JMenuItem("Select All");
JMenuItem selectItem1 = new JMenuItem("Select All");
JMenuItem copyItem = new JMenuItem("Copy");
JMenuItem copyItem1 = new JMenuItem("Copy");
JMenuItem cutItem = new JMenuItem("Cut");
JMenuItem cutItem1 = new JMenuItem("Cut");
JMenuItem pasteItem = new JMenuItem("Paste");
JMenuItem pasteItem1 = new JMenuItem("Paste");
JMenuItem deleteItem = new JMenuItem("Delete");
JMenuItem deleteItem1 = new JMenuItem("Delete");
JMenu viewMenu = new JMenu("View");
JMenuItem statusItem = new JMenuItem("Staus");
JMenu helpMenu = new JMenu("Help");
JMenuItem aboutItem = new JMenuItem("About");
JPopupMenu popup = new JPopupMenu();
String fileName = null;
File file=null;
JFileChooser filechooser=new JFileChooser();
Toolkit toolKit = Toolkit.getDefaultToolkit();
Clipboard clipBoard = toolKit.getSystemClipboard();
private JDialog aboutDialog = new JDialog();;
private FileDialog openFileDialog = new FileDialog(this, "Open File",
FileDialog.LOAD);
private FileDialog saveAsFileDialog = new FileDialog(this, "Save File As",
FileDialog.SAVE);
public JDialog getAboutDialog() {
return aboutDialog;
}
public void initAboutDialog() {
aboutDialog.setTitle("About");
Container con = aboutDialog.getContentPane();
JLabel aboutLabel = new JLabel(
"Author: 信管0402 \n Version: v1.0 ", JLabel.CENTER);
con.add(aboutLabel, BorderLayout.CENTER);
aboutDialog.setSize(250, 150);
aboutDialog.setLocation(300, 300);
aboutDialog.addWindowListener(new WindowAdapter() {
public void WindowClosing(WindowEvent e) {
dispose();
}
});
//right-key Popup Attribute
popup.add(copyItem1);
popup.add(cutItem1);
popup.add(pasteItem1);
popup.addSeparator();
popup.add(selectItem1);
copyItem1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String text = textArea.getSelectedText();
StringSelection selection = new StringSelection(text);
clipBoard.setContents(selection, null);
}
});
copyItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String text = textArea.getSelectedText();
StringSelection selection = new StringSelection(text);
clipBoard.setContents(selection, null);
}
});
cutItem1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
textArea.cut();
}
});
cutItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
textArea.cut();
}
});
pasteItem1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
textArea.paste();
}
});
pasteItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
textArea.paste();
}
});
deleteItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
textArea.getSelectedText();
textArea.replaceSelection("");
}
});
textArea.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent me) {
checkPopup(me);
}
public void mousePressed(MouseEvent me) {
checkPopup(me);
}
public void mouseReleased(MouseEvent me) {
checkPopup(me);
}
private void checkPopup(MouseEvent me) {
if (me.isPopupTrigger()) {
popup.show(me.getComponent(), me.getX(), me.getY());
}
}
});
}
public void actionPerformed(ActionEvent e) {
Object eventSource = e.getSource();
textArea.selectAll();
if (eventSource == newItem) {
textArea.setText("");
} else if (eventSource == openItem) {
openFileDialog.show();
fileName = openFileDialog.getDirectory() + openFileDialog.getFile();
if (fileName != null)
openFile(fileName);
} else if (eventSource == saveItem) {
if(file==null && textArea.getText().length()==0) return;
if (file == null && textArea.getText().length() != 0)
{
saveAsFileDialog.show();
fileName = saveAsFileDialog.getDirectory()
+ saveAsFileDialog.getFile();
if (fileName != null)
saveFile(fileName);
}
if(file!=null) saveFile(fileName);
} else if (eventSource == saveAsItem) {
saveAsFileDialog.show();
fileName = saveAsFileDialog.getDirectory()
+ saveAsFileDialog.getFile();
if (fileName != null)
saveFile(fileName);
} else if ((eventSource == selectItem) || (eventSource == selectItem1)) {
textArea.selectAll();
} else if (eventSource == exitItem) {
System.exit(0);
}
}
public WriteBoard() {
setTitle("WriteBoard");
setFont(new Font("宋體", Font.ITALIC, 16));
setBackground(Color.white);
setSize(400, 300);
//set shortcut key and add menu item
fileMenu.setMnemonic('F');
fileMenu.add(newItem);
newItem.setMnemonic('N');
fileMenu.add(openItem);
openItem.setMnemonic('O');
//Appends a new separator to the end of the menu.
fileMenu.addSeparator();
fileMenu.add(saveItem);
saveItem.setMnemonic('S');
fileMenu.add(saveAsItem);
saveAsItem.setMnemonic('A');
fileMenu.addSeparator();
fileMenu.add(exitItem);
exitItem.setMnemonic('X');
editMenu.setMnemonic('E');
selectItem.setMnemonic('A');
editMenu.addSeparator();
editMenu.add(copyItem);
editMenu.add(cutItem);
editMenu.add(pasteItem);
editMenu.add(deleteItem);
fileMenu.addSeparator();
editMenu.add(selectItem);
viewMenu.setMnemonic('V');
viewMenu.add(statusItem);
helpMenu.setMnemonic('H');
helpMenu.add(aboutItem);
aboutItem.setMnemonic('A');
menuBar.add(fileMenu);
menuBar.add(editMenu);
menuBar.add(viewMenu);
menuBar.add(helpMenu);
setJMenuBar(menuBar);
//getJPopupMenu();
//add textArea
getContentPane().add(textArea);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
initAboutDialog();
aboutItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
aboutDialog.show();
}
});
newItem.addActionListener(this);
openItem.addActionListener(this);
saveItem.addActionListener(this);
saveAsItem.addActionListener(this);
exitItem.addActionListener(this);
selectItem.addActionListener(this);
selectItem1.addActionListener(this);
//cutItem.addActionListener(this);
//cutItem1.addActionListener(this);
//pasteItem.addActionListener(this);
//deleteItem.addActionListener(this);
}
//read 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");
}
}
//write file
public void saveFile(String fileName) {
try {
File file = new File(fileName);
FileWriter writeOut = new FileWriter(file);
writeOut.write(textArea.getText());
writeOut.close();
} catch (IOException e) {
System.out.println("Error writing file");
}
}
public static void main(String[] args) {
JFrame frame = new WriteBoard();
//set the window in the screencenter
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = frame.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
frame.setLocation((screenSize.width - frameSize.width) / 2,
(screenSize.height - frameSize.height) / 2);
frame.setVisible(true);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -