?? wbmpeditorframe.java
字號(hào):
package wbmp;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;import java.io.*;/** * The frame of the WBMP editor. In addition to defining the frame and the * components, it also provides those components with functionality. * Copyright (c) 2003 * @author Mark Busman * @version 1.0 * * For License and contact information see WBMPEditor.java */public class WBMPEditorFrame extends JFrame { JPanel contentPane; JMenuBar MainMenubar = new JMenuBar(); JMenu jMenuFile = new JMenu(); JMenuItem jMenuFileExit = new JMenuItem(); JMenu jMenuHelp = new JMenu(); JMenuItem jMenuHelpAbout = new JMenuItem(); JToolBar MainToolBar = new JToolBar(); JButton ToolbarOpen = new JButton(); JButton ToolbarSave = new JButton(); JButton ToolbarHelp = new JButton(); ImageIcon image1; ImageIcon image2; ImageIcon image3; ImageIcon image4; ImageIcon image5; ImageIcon image6; ImageIcon image7; BorderLayout borderLayout1 = new BorderLayout(); JToggleButton ToolbarEraser = new JToggleButton(); JToggleButton ToolbarPen = new JToggleButton(); JMenuItem jMenuFileNew = new JMenuItem(); JMenuItem jMenuFileOpen = new JMenuItem(); JMenuItem jMenuFileSave = new JMenuItem(); JMenu jMenuDrawing = new JMenu(); JMenuItem jMenuHelpContents = new JMenuItem(); JButton ToolbarNew = new JButton(); Border border1; JPanel Mainpanel = new JPanel(); BorderLayout borderLayout2 = new BorderLayout(); JScrollPane jScrollPane1; JCheckBoxMenuItem jMenuDrawingPen = new JCheckBoxMenuItem(); JCheckBoxMenuItem jMenuDrawingEraser = new JCheckBoxMenuItem(); JPanel Statusbarpanel = new JPanel(); JLabel statusBar = new JLabel(); BorderLayout borderLayout3 = new BorderLayout(); Border border2; JPanel Pospanel = new JPanel(); Border border3; GridLayout gridLayout1 = new GridLayout(); JLabel XPoslabel = new JLabel(); JLabel YPoslabel = new JLabel(); // Variables private Color DrawingColor = Color.black; private Color BackgroundColor = null; private boolean Pressing = false; private boolean Changed = false; private int ColorMatrix[][]; private int Width = 0; private int Height = 0; private String fileName = ""; private boolean Untitled = true; // Constants static int LEFT_MOUSE_BUTTON = 16; static int labelSize = 13; static Color bkg = new Color(0, 166, 8); JMenuItem jMenuFilePreview = new JMenuItem(); JLabel Drawinglabel = new JLabel(); /**Construct the frame*/ public WBMPEditorFrame() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } /**Component initialization*/ private void jbInit() throws Exception { image1 = new ImageIcon(wbmp.WBMPEditorFrame.class.getResource("openFile.gif")); image2 = new ImageIcon(wbmp.WBMPEditorFrame.class.getResource("closeFile.gif")); image3 = new ImageIcon(wbmp.WBMPEditorFrame.class.getResource("help.gif")); image4 = new ImageIcon(wbmp.WBMPEditorFrame.class.getResource("newFile.gif")); image5 = new ImageIcon(wbmp.WBMPEditorFrame.class.getResource("dummy.gif")); image6 = new ImageIcon(wbmp.WBMPEditorFrame.class.getResource("pen.gif")); image7 = new ImageIcon(wbmp.WBMPEditorFrame.class.getResource("eraser.gif")); setIconImage(Toolkit.getDefaultToolkit().createImage(WBMPEditorFrame.class.getResource("icon.gif"))); contentPane = (JPanel) this.getContentPane(); border1 = BorderFactory.createLineBorder(Color.white,1); jScrollPane1 = new JScrollPane(Drawinglabel); border2 = new EtchedBorder(EtchedBorder.RAISED,Color.white,new Color(142, 142, 142)); border3 = new EtchedBorder(EtchedBorder.RAISED,Color.white,new Color(142, 142, 142)); contentPane.setLayout(borderLayout1); this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); this.setSize(new Dimension(400, 300)); this.setTitle("WBMP Editor"); jMenuFile.setText("File"); jMenuFileExit.setText("Exit"); public void mouseEntered(MouseEvent e) { jMenuFileExit_mouseEntered(e); } public void mouseExited(MouseEvent e) { MenuMouseExitHandler(e); } }); jMenuFileExit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { jMenuFileExit_actionPerformed(e); } }); jMenuHelp.setText("Help"); jMenuHelpAbout.setText("About"); jMenuHelpAbout.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseEntered(MouseEvent e) { jMenuHelpAbout_mouseEntered(e); } public void mouseExited(MouseEvent e) { MenuMouseExitHandler(e); } }); jMenuHelpAbout.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { jMenuHelpAbout_actionPerformed(e); } }); ToolbarOpen.setIcon(image1); ToolbarOpen.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { ToolbarOpen_actionPerformed(e); } }); ToolbarOpen.setBorder(null); ToolbarOpen.setToolTipText("Open an existing file"); ToolbarSave.setIcon(image2); ToolbarSave.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { ToolbarSave_actionPerformed(e); } }); ToolbarSave.setBorder(null); ToolbarSave.setToolTipText("Save an existing file"); ToolbarHelp.setIcon(image3); ToolbarHelp.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { ToolbarHelp_actionPerformed(e); } }); ToolbarHelp.setBorder(null); ToolbarHelp.setToolTipText("Help"); ToolbarEraser.setPreferredSize(new Dimension(23, 23)); ToolbarEraser.setIcon(image7); ToolbarEraser.setBorder(null); ToolbarEraser.setMinimumSize(new Dimension(23, 23)); ToolbarEraser.setToolTipText("Erase with background color"); ToolbarEraser.setMaximumSize(new Dimension(23, 23)); ToolbarEraser.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { ToolbarEraser_actionPerformed(e); } }); ToolbarPen.setPreferredSize(new Dimension(23, 23)); ToolbarPen.setIcon(image6); ToolbarPen.setBorder(null); ToolbarPen.setMinimumSize(new Dimension(23, 23)); ToolbarPen.setSelected(true); ToolbarPen.setToolTipText("Draw in black"); ToolbarPen.setMnemonic('0'); ToolbarPen.setMaximumSize(new Dimension(23, 23)); ToolbarPen.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { ToolbarPen_actionPerformed(e); } }); jMenuFileNew.setIcon(image4); jMenuFileNew.setText("New"); jMenuFileNew.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { jMenuFileNew_actionPerformed(e); } }); jMenuFileNew.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseEntered(MouseEvent e) { jMenuFileNew_mouseEntered(e); } public void mouseExited(MouseEvent e) { MenuMouseExitHandler(e); } }); jMenuFileOpen.setIcon(image1); jMenuFileOpen.setText("Open"); jMenuFileOpen.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { jMenuFileOpen_actionPerformed(e); } }); jMenuFileOpen.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseEntered(MouseEvent e) { jMenuFileOpen_mouseEntered(e); } public void mouseExited(MouseEvent e) { MenuMouseExitHandler(e); } }); jMenuFileSave.setIcon(image2); jMenuFileSave.setText("Save"); jMenuFileSave.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { jMenuFileSave_actionPerformed(e); } }); jMenuFileSave.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseEntered(MouseEvent e) { jMenuFileSave_mouseEntered(e); } public void mouseExited(MouseEvent e) { MenuMouseExitHandler(e); } }); jMenuDrawing.setText("Drawing"); jMenuHelpContents.setIcon(image3); jMenuHelpContents.setText("Contents"); jMenuHelpContents.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { jMenuHelpContents_actionPerformed(e); } }); jMenuHelpContents.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseEntered(MouseEvent e) { jMenuHelpContents_mouseEntered(e); } public void mouseExited(MouseEvent e) { MenuMouseExitHandler(e); } }); ToolbarNew.setBorder(null); ToolbarNew.setToolTipText("Create a new image file"); ToolbarNew.setIcon(image4); ToolbarNew.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { ToolbarNew_actionPerformed(e); } }); MainToolBar.setFloatable(false); Mainpanel.setLayout(borderLayout2); jMenuDrawingPen.setIcon(image6); jMenuDrawingPen.setText("Pen"); jMenuDrawingPen.setSelected(true); jMenuDrawingPen.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { jMenuDrawingPen_actionPerformed(e); } }); jMenuDrawingEraser.setIcon(image7); jMenuDrawingEraser.setText("Eraser"); jMenuDrawingEraser.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { jMenuDrawingEraser_actionPerformed(e); } }); statusBar.setText("Ready"); Statusbarpanel.setLayout(borderLayout3); Mainpanel.setBorder(BorderFactory.createLoweredBevelBorder()); Pospanel.setBorder(border3); Pospanel.setMaximumSize(new Dimension(130, 17)); Pospanel.setMinimumSize(new Dimension(130, 17)); Pospanel.setPreferredSize(new Dimension(130, 17)); Pospanel.setLayout(gridLayout1); gridLayout1.setColumns(2); XPoslabel.setHorizontalAlignment(SwingConstants.LEFT); XPoslabel.setHorizontalTextPosition(SwingConstants.LEADING); XPoslabel.setText("X: 0"); YPoslabel.setHorizontalAlignment(SwingConstants.LEFT); YPoslabel.setText("Y: 0"); jMenuFilePreview.setEnabled(false); jMenuFilePreview.setText("Preview"); jMenuFilePreview.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseEntered(MouseEvent e) { jMenuFilePreview_mouseEntered(e); } public void mouseExited(MouseEvent e) { MenuMouseExitHandler(e); } }); jMenuFilePreview.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { jMenuFilePreview_actionPerformed(e); } }); Drawinglabel.setBackground(Color.red); Drawinglabel.setToolTipText(""); MainToolBar.add(ToolbarNew, null); MainToolBar.add(ToolbarOpen); MainToolBar.add(ToolbarSave); MainToolBar.addSeparator(); MainToolBar.add(ToolbarPen, null); MainToolBar.add(ToolbarEraser, null); MainToolBar.addSeparator(); MainToolBar.add(ToolbarHelp); jMenuFile.add(jMenuFileNew); jMenuFile.add(jMenuFileOpen); jMenuFile.add(jMenuFileSave); jMenuFile.addSeparator(); jMenuFile.add(jMenuFilePreview); jMenuFile.addSeparator(); jMenuFile.add(jMenuFileExit); jMenuDrawing.add(jMenuDrawingPen); jMenuDrawing.add(jMenuDrawingEraser); jMenuHelp.add(jMenuHelpContents); jMenuHelp.addSeparator(); jMenuHelp.add(jMenuHelpAbout); MainMenubar.add(jMenuFile); MainMenubar.add(jMenuDrawing); MainMenubar.add(jMenuHelp); this.setJMenuBar(MainMenubar); Mainpanel.add(jScrollPane1, BorderLayout.CENTER); jScrollPane1.getViewport().add(Drawinglabel, null); contentPane.add(Statusbarpanel, BorderLayout.SOUTH); Statusbarpanel.add(statusBar, BorderLayout.CENTER); Statusbarpanel.add(Pospanel, BorderLayout.EAST); Pospanel.add(XPoslabel, null); Pospanel.add(YPoslabel, null); contentPane.add(MainToolBar, BorderLayout.NORTH); contentPane.add(Mainpanel, BorderLayout.CENTER); } /**File | Exit action performed*/ private void jMenuFileExit_actionPerformed(ActionEvent e) { this.setVisible(false); dispose(); } /**Help | About action performed*/ private void jMenuHelpAbout_actionPerformed(ActionEvent e) { WBMPEditorFrame_AboutBox dlg = new WBMPEditorFrame_AboutBox(this); Dimension dlgSize = dlg.getPreferredSize(); Dimension frmSize = getSize(); Point loc = getLocation(); dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y); dlg.setModal(true); dlg.show(); } /**Overridden so we can exit when window is closed*/ protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { jMenuFileExit_actionPerformed(null); } } // Statusbar messages generated by menus /** Menu Listener for the mouseExit event. @param MouseEvent e */ private void MenuMouseExitHandler(MouseEvent e) { statusBar.setText("Ready"); } /** Mouse listener for mouseEntered event @param MouseEvent e */ private void jMenuFileNew_mouseEntered(MouseEvent e) { statusBar.setText("Create a new file"); } /** Mouse listener for mouseEntered event @param MouseEvent e */ private void jMenuFileOpen_mouseEntered(MouseEvent e) { statusBar.setText("Open an existing file"); } /** Mouse listener for mouseEntered event @param MouseEvent e */ private void jMenuFileSave_mouseEntered(MouseEvent e) { statusBar.setText("Save the file"); } /** Mouse listener for mouseEntered event @param MouseEvent e */ private void jMenuFilePreview_mouseEntered(MouseEvent e) { statusBar.setText("preview the drawing in actual size"); } /** Mouse listener for mouseEntered event @param MouseEvent e */
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -