JavaはWordスタイルに似たメニューを実現


最終更新は2019/07/09メニュー効果のデモ
Microsoft Word
本プログラムメニュー
シンプルなメニューレイアウト
このプロジェクトはヒューマンマシンインタラクティブ設計コースの小さな宿題です.しかし、このジョブの要件は、コードを記述する必要はありません.しかし、私たちのグループの設計とグループ化の理念を体現するために、私はやはりメニューの小さなプログラムを書くことを決めました.このプログラムは柔軟なレイアウトがあり、マイクロソフトのWordエディタとIntelliJ IDEAエディタのレイアウトの総合です.
私たちのチームが処理する必要があるすべての機能は、次のように分類されています.
きのうパケットげんり
きのうせい の原則に従って、所属するボタンをレイアウトする.
  • は、例えば、空白テキスト、太字テキスト、斜体テキスト、および下線テキストである.

  • ちくじせい の原則に従って、所属するボタンをレイアウトする.
  • 例えば、コピーして貼り付けます.

  • 使用頻度 の原則に従って、所属するボタンをレイアウトする.通常、一般的な操作はツールバーでユーザーが直接クリックできるようにします.
  • は、例えば、保存および印刷される.

  • メニューデザインの原理
    フィッツの法則
    ボタンの面積が大きいほどいいです.ユーザーのマウスポインタとボタンの距離が小さいほど良いです.これは、ユーザが機能を実現する時間が少なくなることを意味するからである.
    人間は間違いを犯す
    設計の過程でユーザーを誤導することをできるだけ避けなければならない.たとえば、「保存」機能ではなく「保存」機能を先にユーザーに見せると、ユーザーが「保存」機能を「保存」機能と勘違いする可能性が高い.
    人間のミス
    設計の過程で、ユーザーの意外な点に関連しない機能をできるだけ避けなければならない.たとえば、この2つの機能が隣接している場合、ユーザーは「貼り付け」ではなく「削除」を誤って実行する可能性があります.
    Javaプログラミング実装
    さまざまなテキストエディタと以上の原理のインスピレーションから、柔軟なレイアウトのメニューを作ることにしました.一般的な操作は、サブメニューに包まれたツールバーで実行されます.サブメニューは、JToolBarによって実現され、ユーザが他のサブメニューをクリックすると、現在表示されているサブメニューはJFrameから除去されるべきである.例を挙げる
    public void menuSelected(MenuEvent e) {
        if(toolbar != null) {
            toolbar.setVisible(false);
            frame.remove(toolbar);
        }
        if(viewbar == null) {
            viewbar = new JToolBar();
            JMenuBar menuBar = new JMenuBar();
            //   。
            ImageIcon pageIcon = new ImageIcon("src/images/page.png");
            JMenu page = new JMenu("View Page");
            page.setIcon(pageIcon);
            menuBar.add(page);
    
            //       。
            ImageIcon posIcon = new ImageIcon("src/images/position.png");
            JMenu position = new JMenu("Position");
            position.setIcon(posIcon);
            menuBar.add(position);
    
            //     。
            ImageIcon docIcon = new ImageIcon("src/images/documents.png");
            JMenu document= new JMenu("Alternative Document");
            document.setIcon(docIcon);
            menuBar.add(document);
    
            viewbar.add(menuBar);
        }
        frame.add(viewbar, BorderLayout.PAGE_START);
        viewbar.setVisible(true);
        frame.setVisible(true);
    }

    ショートカットキーの実装では、setAccelerator()関数を呼び出してショートカットキーを設定する必要があります.例えば、
    toolItem = new JMenuItem("Delete");
    toolItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_DELETE, 0));

    次に、各ボタンにアイコンを設定して、ユーザーにボタンをクリックすると何が起こるかを注意する必要があります.このセクションの実装は簡単です.
    ImageIcon pageIcon = new ImageIcon("src/images/page.png");
    JMenu page = new JMenu("View Page");
    page.setIcon(pageIcon);

    ソースコード
    もし私の文章があなたを助けることができるならば、お手数ですがソースコードに入って★スターを注文してください!https://github.com/Hephaest/M...