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

📄 sketchframe.java

📁 Java Classic Examples是我买的两本书:《JAVA经典实例》和《java入门经典源代码》里边附送光盘里带的源码
💻 JAVA
字号:
// Frame for the Sketcher application
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class SketchFrame extends JFrame
                         implements Constants
{

  // Constructor
  public SketchFrame(String title)
  {
    super(title);                                // Call the base constructor

    setJMenuBar(menuBar);                        // Add the menu bar to the window

    JMenu fileMenu = new JMenu("File");                    // Create File menu
    JMenu elementMenu = new JMenu("Elements");             // Create Elements menu
    fileMenu.setMnemonic('F');                             // Create shortcut
    elementMenu.setMnemonic('E');                          // Create shortcut

   // We will construct the file pull down menu here using actions...
    JMenuItem item;                                          // temporary for items
    item = fileMenu.add(newAction = new FileAction("New"));       // Add New item
    item.setAccelerator(KeyStroke.getKeyStroke('N',Event.CTRL_MASK ));

    item = fileMenu.add(openAction = new FileAction("Open"));     // Add Open item
    item.setAccelerator(KeyStroke.getKeyStroke('O',Event.CTRL_MASK ));

    item = fileMenu.add(closeAction = new FileAction("Close"));   // Add Close item
    fileMenu.addSeparator();                                      // Add separator

    item = fileMenu.add(saveAction = new FileAction("Save"));     // Add Save item
    item.setAccelerator(KeyStroke.getKeyStroke('S',Event.CTRL_MASK ));

    item = fileMenu.add(saveAsAction = new FileAction("Save As...")); // Save As
    fileMenu.addSeparator();                                      // Add separator

    item = fileMenu.add(printAction = new FileAction("Print"));   // Add Print item
    item.setAccelerator(KeyStroke.getKeyStroke('P',Event.CTRL_MASK ));



   // We will add the types menu items here using actions...
    elementMenu.add(lineAction = new TypeAction("Line", LINE));
    elementMenu.add(rectangleAction = new  TypeAction("Rectangle",RECTANGLE));
    elementMenu.add(circleAction = new TypeAction("Circle", CIRCLE));
    elementMenu.add(curveAction = new TypeAction("Curve", CURVE));

    elementMenu.addSeparator();

    JMenu colorMenu = new JMenu("Color");                  // Color sub-menu
    elementMenu.add(colorMenu);                            // Add the sub-menu

    // We will add the color menu items here using actions...
    colorMenu.add(redAction = new ColorAction("Red", Color.red));
    colorMenu.add(yellowAction = new ColorAction("Yellow", Color.yellow));
    colorMenu.add(greenAction = new ColorAction("Green", Color.green));
    colorMenu.add(blueAction = new ColorAction("Blue", Color.blue));

    // Handles color menu items

    menuBar.add(fileMenu);                                 // Add the file menu
    menuBar.add(elementMenu);                              // Add the element menu
    getContentPane().add(toolBar, BorderLayout.NORTH);     // Add toolbar  
  }

  // We will add inner classes defining action objects here...
 
  //  FILE ACTION INNER CLASS
   class FileAction extends AbstractAction
   {    
    // Constructor
    FileAction(String name)
    {  
      super(name);  
    }

    public void actionPerformed(ActionEvent e)
    {
     // We will add action code here eventually...
    }
   }

   // TYPE ACTION INNER CLASS
    class TypeAction extends AbstractAction
    {    
     TypeAction(String name, int typeID)
     {
       super(name);
       this.typeID = typeID;
     }
    
     public void actionPerformed(ActionEvent e)
     {
       elementType = typeID;  
     }

       private int typeID;
    }

  // COLOR ACTION INNER CLASS
    class ColorAction  extends AbstractAction
    {
      public ColorAction(String name, Color color)
      {
         super(name);
         this.color = color;
      }

      public void actionPerformed(ActionEvent e)
      {
         elementColor = color;

         // This is temporary - just to show it works
         getContentPane().setBackground(color);
      }

      private Color color;
    }

  // We will add action objects as members here...

  FileAction newAction,  openAction,   closeAction,
             saveAction, saveAsAction, printAction;
  // Element type actions
  private TypeAction lineAction, rectangleAction, 
                     circleAction, curveAction;
  // Element color actions
  private ColorAction redAction,   yellowAction,     
                      greenAction, blueAction ;
  private JMenuBar menuBar = new JMenuBar();               // Window menu bar
  private JToolbar toolbar = new JToolbar();		   // Toolbar 
  private Color elementColor = DEFAULT_ELEMENT_COLOR;      // Current element color
  private int elementType = DEFAULT_ELEMENT_TYPE;          // Current element type
}

⌨️ 快捷键说明

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