寫了一個記事本程序,程序運行效果如下。
采用了第 3 方感官皮膚( xp )。總結該程序代碼無非就是一個 JFrame 設置 JMenuBar —— >JMenu( 字符串作參數 ) —— >JMenuItem ( action 作為參數)。文本面板 JScrollPane+JTextPane ,由于 JTextPane 本身就有復制、粘貼、剪切方法,所以寫這個程序也顯得非常簡單。功能設計得也很簡單,主要是練習。
部分重要代碼,菜單部分:
JMenuBar menubar = new JMenuBar (); // 實例化菜單欄
JMenu menuFile = new JMenu (" 文件 "); // 實例化菜單
JMenu menuEdit = new JMenu (" 編輯 ");
JMenu menuAbout = new JMenu (" 幫助 ");
menuFile.add (new JMenuItem (actions[0])); // 增加新菜單項
menuFile.add (new JMenuItem (actions[1]));
menuFile.add (new JMenuItem (actions[2]));
menuFile.add (new JMenuItem (actions[7]));
menuEdit.add (new JMenuItem (actions[3]));
menuEdit.add (new JMenuItem (actions[4]));
menuEdit.add (new JMenuItem (actions[5]));
menuAbout.add (new JMenuItem (actions[6]));
menubar.add (menuFile); // 增加菜單
menubar.add (menuEdit);
menubar.add (menuAbout);
事件的一部分代碼:
class SaveAction extends AbstractAction
{ // 保存命令
public SaveAction ()
{
super (" 保存 ");
}
public void actionPerformed (ActionEvent e)
{
int i = filechooser.showSaveDialog (EditorDemo.this); // 顯示保存文件對話框
if (i == JFileChooser.APPROVE_OPTION)
{ // 點擊對話框中保存按鈕
File f = filechooser.getSelectedFile (); // 得到選擇的文件
try
{
FileOutputStream out = new FileOutputStream (f); // 得到文件輸出流
out.write (textPane.getText ().getBytes ()); // 寫出文件
}
catch (Exception ex)
{
ex.printStackTrace (); // 輸出出錯信息
}
}
}
}