<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • Java程序編寫記事本方法

    時間:2024-06-22 18:41:31 JAVA認證 我要投稿
    • 相關推薦

    Java程序編寫記事本方法大全

      java語言可以實現很多程序,那么用java怎么編寫記事本呢?下面跟yjbys小編一起來看看吧!

      import java.awt.*;

      import java.awt.event.*;

      import javax.swing.*;

      import java.io.*;

      public class Notepad extends JFrame {

      // 系統組件聲明

      private JMenuBar menuBar = new JMenuBar();

      private JEditorPane content = new JEditorPane();

      private JScrollPane scroll = new JScrollPane(content);

      private JFileChooser filechooser = new JFileChooser() ;

      private BorderLayout bord = new BorderLayout();

      private JLabel statusBar = new JLabel();

      private JPanel pane = new JPanel();

      private File file = null;

      // 定義文件菜單

      private JMenu fileMenu = new JMenu();

      private JMenuItem newMenuItem = new JMenuItem();

      private JMenuItem openMenuItem = new JMenuItem();

      private JMenuItem saveMenuItem = new JMenuItem();

      private JMenuItem saveAsMenuItem = new JMenuItem();

      private JMenuItem pageSetupMenuItem = new JMenuItem();

      private JMenuItem printMenuItem = new JMenuItem();

      private JMenuItem exitMenuItem = new JMenuItem();

      // 定義風格菜單

      private JMenu styleMenu = new JMenu();

      private ButtonGroup styleMenuGroup = new ButtonGroup();

      private JRadioButtonMenuItem javaStyleMenuItem = new JRadioButtonMenuItem();

      private JRadioButtonMenuItem metalStyleMenuItem = new JRadioButtonMenuItem();

      private JRadioButtonMenuItem windowsStyleMenuItem = new JRadioButtonMenuItem();

      // 定義幫助菜單

      private JMenuItem aboutMenuItem = new JMenuItem();

      private JMenuItem helpTopicMenuItem = new JMenuItem();

      private JMenu helpMenu = new JMenu();

      // 構造函數

      public Notepad(){

      initComponents();

      }

      private void initComponents(){

      // 添加子菜單項到文件菜單

      fileMenu.setText("/u6587/u4ef6 (F)");

      newMenuItem.setText(" 新建(N) Ctrl+N");

      openMenuItem.setText(" 打開(O)... Ctrl+O");

      saveMenuItem.setText(" 保存(S) Ctrl+S");

      saveAsMenuItem.setText(" 另存為(A)...");

      pageSetupMenuItem.setText(" 頁面設置(U)...");

      printMenuItem.setText(" 打印(P)... Ctrl+P");

      exitMenuItem.setText(" 退出");

      fileMenu.add(newMenuItem);

      fileMenu.add(openMenuItem);

      fileMenu.add(saveMenuItem);

      fileMenu.add(saveAsMenuItem);

      fileMenu.addSeparator();

      fileMenu.add(pageSetupMenuItem);

      fileMenu.add(printMenuItem);

      fileMenu.addSeparator();

      fileMenu.add(exitMenuItem);

      // 添加子菜單項到風格菜單

      styleMenu.setText("風格(S)");

      javaStyleMenuItem.setText("Java默認");

      metalStyleMenuItem.setText("Metal風格");

      windowsStyleMenuItem.setText("Windows風格");

      styleMenuGroup.add(javaStyleMenuItem);

      styleMenuGroup.add(metalStyleMenuItem);

      styleMenuGroup.add(windowsStyleMenuItem);

      styleMenu.add(javaStyleMenuItem);

      styleMenu.add(metalStyleMenuItem);

      styleMenu.add(windowsStyleMenuItem);

      // 添加子菜單項到幫助菜單

      helpMenu.setText("幫助(H)");

      helpTopicMenuItem.setText(" 幫助主題(H)");

      aboutMenuItem.setText(" 關于記事本(A)");

      helpMenu.add(helpTopicMenuItem);

      helpMenu.addSeparator();

      helpMenu.add(aboutMenuItem);

      // 定義文件菜單下的事件監聽

      newMenuItem.addActionListener(new newMenuItem_actionAdapter(this));

      openMenuItem.addActionListener(new openMenuItem_actionAdapter(this));

      saveMenuItem.addActionListener(new saveMenuItem_actionAdapter(this));

      saveAsMenuItem.addActionListener(new saveAsMenuItem_actionAdapter(this));

      pageSetupMenuItem.addActionListener(new pageSetupMenuItem_actionAdapter(this));

      printMenuItem.addActionListener(new printMenuItem_actionAdapter(this));

      exitMenuItem.addActionListener(new exitMenuItem_actionAdapter(this));

      // 定義風格菜單下的事件監聽

      javaStyleMenuItem.addActionListener(new javaStyleMenuItem_actionAdapter(this));

      metalStyleMenuItem.addActionListener(new metalStyleMenuItem_actionAdapter(this));

      windowsStyleMenuItem.addActionListener(new windowsStyleMenuItem_actionAdapter(this));

      // 定義幫助菜單下的事件監聽

      helpTopicMenuItem.addActionListener(new helpTopicMenuItem_actionAdapter(this));

      aboutMenuItem.addActionListener(new aboutMenuItem_actionAdapter(this));

      // 填加菜單到菜單欄

      menuBar.add(fileMenu);

      menuBar.add(styleMenu);

      menuBar.add(helpMenu);

      // 對主窗口的一些設置

      this.setDefaultCloseOperation(EXIT_ON_CLOSE);

      this.setTitle("無標題 - /u8bb0/u4e8b/u672c");

      this.setSize(640,480);

      setJMenuBar(menuBar);

      pane.setLayout(bord);

      pane.add("Center",scroll);

      setContentPane(pane);

      }

      // 定義新建菜單項方法

      public void newMenuItemActionPerformed(ActionEvent evt){

      file = null;

      if(!("".equals(content.getText()))){

      Object[] options = { " 是(Y) ", " 否(N) "," 取消 " };

      int s = JOptionPane.showOptionDialog(null, "/u6587/u4ef6 "+getTitle()+" /u7684/u6587/u5b57/u5df2/u7ecf/u6539/u53d8/u3002/n/u60f3/u4fdd/u5b58/u6587/u4ef6/u5417/uff1f", "/u8bb0/u4e8b/u672c",

      JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE,

      null, options, options[0]);

      switch(s){

      case 0:

      int returnVal=filechooser.showSaveDialog(this);

      if(returnVal == JFileChooser.APPROVE_OPTION) {

      file=filechooser.getSelectedFile();

      try{

      FileWriter fw=new FileWriter(file);

      fw.write(content.getText());

      setTitle(filechooser.getSelectedFile().getName()+" - /u8bb0/u4e8b/u672c");

      fw.close();

      }

      catch(Exception e){

      e.printStackTrace();

      }

      break;

      }

      case 1:

      content.setText("");

      setTitle("無標題 - /u8bb0/u4e8b/u672c");

      }

      }

      }

      // 定義打開菜單項方法

      public void openMenuItemActionPerformed(ActionEvent evt){

      try {

      file = null;

      int returnVal = filechooser.showOpenDialog(this);

      if(returnVal == JFileChooser.APPROVE_OPTION){

      file = filechooser.getSelectedFile();

      FileReader fr = new FileReader(file);

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

      char[] buffer = new char[len];

      fr.read(buffer,0,len);

      fr.close();

      content.setText(new String(buffer));

      }

      }

      catch(Exception e){

      e.printStackTrace();

      }

      }

      // 定義退出菜單項方法

      public void exitMenuItem_actionPerformed(ActionEvent e){

      if(!("".equals(content.getText()))){

      Object[] options = { " 是(Y) ", " 否(N) "," 取消 " };

      int s = JOptionPane.showOptionDialog(null, "文件的文字已經改變。/n想保存文件嗎?", "/u8bb0/u4e8b/u672c",

      JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE,

      null, options, options[0]);

      switch(s){

      case 0:

      int returnVal=filechooser.showSaveDialog(this);

      if(returnVal == JFileChooser.APPROVE_OPTION) {

      file=filechooser.getSelectedFile();

      try{

      FileWriter fw=new FileWriter(file);

      fw.write(content.getText());

      setTitle(filechooser.getSelectedFile().getName()+" - /u8bb0/u4e8b/u672c");

      fw.close();

      }

      catch(Exception ex){

      ex.printStackTrace();

      }

      break;

      }

      case 1:

      System.exit(0);

      }

      }

      else{

      System.exit(0);

      }

      }

      // 保存事件

      public void saveMenuItemActionPerformed(ActionEvent evt){

      int returnVal=filechooser.showSaveDialog(this);

      if(returnVal == JFileChooser.APPROVE_OPTION) {

      file=filechooser.getSelectedFile();

      try{

      FileWriter fw=new FileWriter(file);

      fw.write(content.getText());

      setTitle(filechooser.getSelectedFile().getName()+" - /u8bb0/u4e8b/u672c");

      fw.close();

      }

      catch(Exception e){

      e.printStackTrace();

      }

      }

      }

      // 另存為事件

      public void saveAsMenuItemActionPerformed(ActionEvent evt){

      filechooser.setDialogTitle("另存為...");

      int returnVal = filechooser.showSaveDialog(this);

      if(returnVal == JFileChooser.APPROVE_OPTION) {

      file=filechooser.getSelectedFile();

      try{

      FileWriter fw=new FileWriter(file);

      fw.write(content.getText());

      setTitle(filechooser.getSelectedFile().getName()+" - /u8bb0/u4e8b/u672c");

      fw.close();

      }

      catch(Exception e){

      e.printStackTrace();

      }

      }

      }

      // 頁面設置事件

      public void pageSetupMenuItemActionPerformed(ActionEvent evt){

      JOptionPane.showMessageDialog(null,"此功能正在開發中...");

      }

      // 打印事件

      public void printMenuItemActionPerformed(ActionEvent evt){

      JOptionPane.showMessageDialog(null,"打印中...");

      }

      // 更新風格外觀方法

      void changeLookFeel(String className) {

      try {

      UIManager.setLookAndFeel(className);

      }

      catch (Exception e) {

      System.out.println(e);

      }

      SwingUtilities.updateComponentTreeUI(this);

      }

      // Java風格事件

      public void javaStyleMenuItemActionPerformed(ActionEvent evt){

      changeLookFeel("javax.swing.plaf.metal.MetalLookAndFeel");

      }

      // Motif風格事件

      public void metalStyleMenuItemActionPerformed(ActionEvent evt){

      changeLookFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");

      }

      // MAC風格事件

      public void windowsStyleMenuItemActionPerformed(ActionEvent evt){

      changeLookFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");

      }

      // 幫助事件

      public void helpTopicMenuItemActionPerformed(ActionEvent evt){

      JOptionPane.showMessageDialog(null,"/u9700/u8981/u5e2e/u52a9/u5417/uff1f");

      }

      // 關于事件

      public void aboutMenuItemActionPerformed(ActionEvent evt){

      JOptionPane.showMessageDialog(null,"/n/u7a0b/u5e8f/u540d/u79f0/uff1aJava /u8bb0/u4e8b/u672c/n/u4ee3/u7801/u7f16/u5199/uff1aCavien/n/u4f5c/u8005/u7f51/u7ad9/uff1ahttp:/www.cavien.com/nE-mail/u3000/uff1aCavien@163.com");

      }

      // 主函數

      public static void main(String args[]) {

      Notepad notepad = new Notepad();

      notepad.setVisible(true);

      }

      }

      // 定義新建事件類

      class newMenuItem_actionAdapter implements ActionListener{

      Notepad adaptee;

      newMenuItem_actionAdapter(Notepad adaptee){

      this.adaptee = adaptee;

      }

      public void actionPerformed(ActionEvent evt){

      adaptee.newMenuItemActionPerformed(evt);

      }

      }

      // 定義打開事件類

      class openMenuItem_actionAdapter implements ActionListener{

      Notepad adaptee;

      openMenuItem_actionAdapter(Notepad adaptee){

      this.adaptee = adaptee;

      }

      public void actionPerformed(ActionEvent evt){

      adaptee.openMenuItemActionPerformed(evt);

      }

      }

      // 定義保存事件類

      class saveMenuItem_actionAdapter implements ActionListener{

      Notepad adaptee;

      saveMenuItem_actionAdapter(Notepad adaptee){

      this.adaptee = adaptee;

      }

      public void actionPerformed(ActionEvent evt){

      adaptee.saveMenuItemActionPerformed(evt);

      }

      }

      // 定義另存為事件類

      class saveAsMenuItem_actionAdapter implements ActionListener{

      Notepad adaptee;

      saveAsMenuItem_actionAdapter(Notepad adaptee){

      this.adaptee = adaptee;

      }

      public void actionPerformed(ActionEvent evt){

      adaptee.saveAsMenuItemActionPerformed(evt);

      }

      }

      // 定義頁面設置事件類

      class pageSetupMenuItem_actionAdapter implements ActionListener{

      Notepad adaptee;

      pageSetupMenuItem_actionAdapter(Notepad adaptee){

      this.adaptee = adaptee;

      }

      public void actionPerformed(ActionEvent evt){

      adaptee.pageSetupMenuItemActionPerformed(evt);

      }

      }

      // 定義打印事件類

      class printMenuItem_actionAdapter implements ActionListener{

      Notepad adaptee;

      printMenuItem_actionAdapter(Notepad adaptee){

      this.adaptee = adaptee;

      }

      public void actionPerformed(ActionEvent evt){

      adaptee.printMenuItemActionPerformed(evt);

      }

      }

      // 定義Java風格事件類

      class javaStyleMenuItem_actionAdapter implements ActionListener{

      Notepad adaptee;

      javaStyleMenuItem_actionAdapter(Notepad adaptee){

      this.adaptee = adaptee;

      }

      public void actionPerformed(ActionEvent evt){

      adaptee.javaStyleMenuItemActionPerformed(evt);

      }

      }

      // 定義Java風格事件類

      class metalStyleMenuItem_actionAdapter implements ActionListener{

      Notepad adaptee;

      metalStyleMenuItem_actionAdapter(Notepad adaptee){

      this.adaptee = adaptee;

      }

      public void actionPerformed(ActionEvent evt){

      adaptee.metalStyleMenuItemActionPerformed(evt);

      }

      }

      // 定義Java風格事件類

      class windowsStyleMenuItem_actionAdapter implements ActionListener{

      Notepad adaptee;

      windowsStyleMenuItem_actionAdapter(Notepad adaptee){

      this.adaptee = adaptee;

      }

      public void actionPerformed(ActionEvent evt){

      adaptee.windowsStyleMenuItemActionPerformed(evt);

      }

      }

      // 定義幫助主題事件類

      class helpTopicMenuItem_actionAdapter implements ActionListener{

      Notepad adaptee;

      helpTopicMenuItem_actionAdapter(Notepad adaptee){

      this.adaptee = adaptee;

      }

      public void actionPerformed(ActionEvent evt){

      adaptee.helpTopicMenuItemActionPerformed(evt);

      }

      }

      // 定義關于軟件事件類

      class aboutMenuItem_actionAdapter implements ActionListener{

      Notepad adaptee;

      aboutMenuItem_actionAdapter(Notepad adaptee){

      this.adaptee = adaptee;

      }

      public void actionPerformed(ActionEvent evt){

      adaptee.aboutMenuItemActionPerformed(evt);

      }

      }

      // 定義退出事件類

      class exitMenuItem_actionAdapter implements ActionListener {

      Notepad adaptee;

      exitMenuItem_actionAdapter(Notepad adaptee){

      this.adaptee = adaptee;

      }

      public void actionPerformed(ActionEvent evt){

      adaptee.exitMenuItem_actionPerformed(evt);

      }

    【Java程序編寫記事本方法】相關文章:

    Java怎么編寫走馬燈程序08-19

    Java怎么編寫Oracle存儲過程09-15

    如何編譯java程序09-28

    Java編寫計算器的的常見做法01-22

    Java程序開發與運行環境06-21

    實現鼠標畫圖的Java程序06-22

    Java線程同步的方法10-25

    Java枚舉的常用方法10-05

    如何使用Swing編寫全屏程序09-20

    sun認證java程序員須知Java日志框架09-11

    主站蜘蛛池模板: 无码日韩人妻精品久久蜜桃| 国产精品精品自在线拍| 精品卡一卡二卡乱码高清| 国产精品欧美久久久久天天影视| 人人妻人人澡人人爽人人精品电影| 国产美女精品视频| 国产亚洲精品国产| 久久99精品久久久久婷婷| 欧美人与性动交α欧美精品 | 精品9E精品视频在线观看| 国内精品久久久久久久涩爱| 久久精品国产秦先生| 国产精品偷伦视频观看免费| 亚洲精品tv久久久久久久久久| 国产欧美精品区一区二区三区| 久久最新精品国产| 91视频国产精品| 精品国产sm捆绑最大网免费站| 伊人久久精品影院| 欧美日韩国产精品 | 免费精品视频在线| 国产精品伊人久久伊人电影| 四虎影视国产精品亚洲精品hd | 亚洲精品无码久久久久去q | 国产午夜精品视频| 国产精品久久久久国产A级| 久久精品国产亚洲AV无码偷窥| 亚洲精品无码久久久久久| 一区二区三区精品高清视频免费在线播放| 久久精品免费网站网| 国产日韩久久久精品影院首页| 国产精品亚洲一区二区在线观看| 国产成人AV无码精品| 国产精品丝袜久久久久久不卡| 国产成人无码精品久久久久免费| 91久久精品视频| 国产69精品久久久久99尤物| 国产精品香蕉在线观看| 国产欧美日韩综合精品一区二区三区 | 精品无码一区二区三区爱欲九九 | 午夜精品久久久久9999高清|