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

📄 mainframe.java

📁 深入浅出JavaSwing程序设计一书的源代码
💻 JAVA
字号:
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.text.*;
import javax.swing.event.*;
import java.awt.event.*;
import java.awt.*;
import java.util.*;
import java.io.*;
import java.lang.*;
import javax.swing.undo.*;

public class MainFrame
{ 
    JDesktopPane desktop;
    JFrame topFrame;
    JMenuBar menuBar;
    JPopupMenu popupMenu;
    
    public MainFrame()
    {
        topFrame = new JFrame("MainFrame-Look and Feel");
        topFrame.setBounds(100,100,630,400);  // --- setBounds(x畒夹,y畒夹,糴,蔼)
        buildContent();
        buildMenuBar();
        buildToolBar();
        popupMenu = buildPopupMenu();
        
        topFrame.addWindowListener(new WindowAdapter() {
        	public void windowClosing(WindowEvent e) {
        	  System.exit(0); 
            }
        }); //end of addWindowListener
        
        topFrame.setVisible(true);
    } //end of MainFrame()
    
    public void buildContent()
    {
        desktop = new JDesktopPane();
        topFrame.getContentPane().add(desktop);
    }//end of buildContent()
    
    public void buildMenuBar()
    {
        String menuName;
        
        menuBar = new JMenuBar();
        menuName = "File";
        String[] fileFunctions = {"New", "Open", "Close", "Exit"};
        char[] fileMnemonic = {'N', 'O', 'L', 'X'};
        JMenu mfile = buildMenu(menuName,fileFunctions,fileMnemonic);
        
        menuName = "Edit";
        JMenuItem item;
        JMenu medit = new JMenu(menuName);
        item = medit.add(new ActionSet("Undo",null));
        item.setActionCommand("Undo");
        item.setMnemonic('Z');
        item.setAccelerator( KeyStroke.getKeyStroke('Z',java.awt.Event.CTRL_MASK,false));
        
        item = medit.add(new ActionSet("Redo",null));
        item.setActionCommand("Redo");
        item.setMnemonic('Y');
        item.setAccelerator( KeyStroke.getKeyStroke('Y',java.awt.Event.CTRL_MASK,false));
        
        medit.addSeparator();
        
        Action action = new DefaultEditorKit.CopyAction();
        action.putValue(Action.NAME, "Copy");
        item = medit.add(action);
        item.setMnemonic('T');
        item.setAccelerator( KeyStroke.getKeyStroke('T',java.awt.Event.CTRL_MASK,false));
        
        action = new DefaultEditorKit.CutAction();
        action.putValue(Action.NAME, "Cut");
        item = medit.add(action);
        item.setMnemonic('C');
        item.setAccelerator( KeyStroke.getKeyStroke('C',java.awt.Event.CTRL_MASK,false));
        
        action = new DefaultEditorKit.PasteAction();
        action.putValue(Action.NAME, "Paste");
        item = medit.add(action);
        item.setMnemonic('P');
        item.setAccelerator( KeyStroke.getKeyStroke('P',java.awt.Event.CTRL_MASK,false));
        
        JMenu malign = buildAlignMenu();
        
        menuName = "Insert";
        String[] insertFunctions = {"Picture", "Object"};
        char[] insertMnemonic = null;
        JMenu minsert = buildMenu(menuName,insertFunctions,insertMnemonic);
        
        menuName = "Demo";
        String[] demoFunctions = {"Slider", "Tree Structure", "Table Structure", "Password"};
        char[] demoMnemonic = {'S', 'T', 'A', 'P'};
        JMenu mdemo = buildMenu(menuName,demoFunctions,demoMnemonic);
        
        menuName = "Help";
        String[] helpFunctions = {"About this Program", "Open Help Window"};
        char[] helpMnemonic = {'B', 'H'};     
        JMenu mhelp = buildMenu(menuName,helpFunctions,helpMnemonic);
    
        //砞﹚Hot Key Alt+'?'    
        mfile.setMnemonic('F');
        medit.setMnemonic('E');
        malign.setMnemonic('A');
        minsert.setMnemonic('I'); 
        mdemo.setMnemonic('D');
        mhelp.setMnemonic('H');
        
        menuBar.add(mfile); //盢 File 匡兜

⌨️ 快捷键说明

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