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

📄 graframe.java

📁 AVA项目开发实践-网上范例3: 运行方法: 编译好四个类之后
💻 JAVA
字号:
package grapro;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.File;import javax.swing.border.*;public class GraFrame extends JFrame {  JPanel contentPane;  JMenuBar jMenuBarPic = new JMenuBar();  JMenu jMenuFile = new JMenu();  JMenuItem jMenuFileExit = new JMenuItem();  JMenu jMenuHelp = new JMenu();  JMenuItem jMenuHelpAbout = new JMenuItem();  JToolBar jToolBarPic = new JToolBar();  /////////////////////  PanelPic ppn = new PanelPic();  //////////////////  JButton jButton_ty = new JButton();  JButton jButton_zx = new JButton();  JButton jButton_qc = new JButton();  JButton jButton_jx = new JButton();  JButton jButton_qb = new JButton();  JButton jButton_xp = new JButton();  JMenu jMenuColorSel = new JMenu();  JMenuItem jMenuFileLoad = new JMenuItem();  JMenu jMenuIfEmpty = new JMenu();  JMenuItem jMenuItem1_w = new JMenuItem();  JMenuItem jMenuItem2_w = new JMenuItem();  JMenuItem jMenuFileSave = new JMenuItem();  JMenuItem jMenuPenColorSel = new JMenuItem();  //////////////////  /**Construct the frame*/  public GraFrame() {    enableEvents(AWTEvent.WINDOW_EVENT_MASK);    try {      jbInit();    }    catch(Exception e) {      e.printStackTrace();    }  }  /**Component initialization*/  private void jbInit() throws Exception  {    contentPane = (JPanel)this.getContentPane();    contentPane.setLayout(null);    this.getContentPane().setBackground(SystemColor.textHighlight);    this.setContentPane(contentPane);    this.setResizable(false);    this.setSize(new Dimension(476, 376));    this.setTitle("图形图像设计");    jMenuFile.setBackground(SystemColor.desktop);    jMenuFile.setText("文件");    jMenuFileExit.setBackground(SystemColor.desktop);    jMenuFileExit.setText("退出");    jMenuFileExit.addActionListener(new ActionListener()  {      public void actionPerformed(ActionEvent e) {        jMenuFileExit_actionPerformed(e);      }    });    jMenuHelp.setBackground(SystemColor.desktop);    jMenuHelp.setText("帮助");    jMenuHelpAbout.setBackground(SystemColor.desktop);    jMenuHelpAbout.setText("关于");    jMenuHelpAbout.addActionListener(new ActionListener()  {      public void actionPerformed(ActionEvent e) {        jMenuHelpAbout_actionPerformed(e);      }    });    jMenuBarPic.setBackground(SystemColor.desktop);    jMenuBarPic.setBorder(BorderFactory.createLineBorder(Color.black));    contentPane.setBackground(SystemColor.desktop);    contentPane.setBorder(BorderFactory.createLineBorder(Color.black));    contentPane.setMinimumSize(new Dimension(1, 1));    contentPane.setPreferredSize(new Dimension(400, 400));    jToolBarPic.setBackground(SystemColor.desktop);    jToolBarPic.setBorder(BorderFactory.createLineBorder(Color.black));    jToolBarPic.setBounds(new Rectangle(0, 0, 477, 22));    jButton_ty.setText("椭圆");    jButton_ty.addMouseListener(new java.awt.event.MouseAdapter() {      public void mouseClicked(MouseEvent e) {        jButton_ty_mouseClicked(e);      }    });    jButton_ty.setBackground(SystemColor.desktop);    jButton_ty.setBorder(BorderFactory.createLineBorder(Color.black));    jButton_ty.setToolTipText("画椭圆");    jButton_zx.setBackground(SystemColor.desktop);    jButton_zx.setBorder(BorderFactory.createLineBorder(Color.black));    jButton_zx.setToolTipText("画直线");    jButton_zx.setText("直线");    jButton_zx.addMouseListener(new java.awt.event.MouseAdapter() {      public void mouseClicked(MouseEvent e) {        jButton_zx_mouseClicked(e);      }    });    jButton_qc.setBackground(SystemColor.desktop);    jButton_qc.setBorder(BorderFactory.createLineBorder(Color.black));    jButton_qc.setToolTipText("清除整个画板");    jButton_qc.setText("清除");    jButton_qc.addMouseListener(new java.awt.event.MouseAdapter() {      public void mouseClicked(MouseEvent e) {        jButton_qc_mouseClicked(e);      }    });    jButton_jx.setBackground(SystemColor.desktop);    jButton_jx.setBorder(BorderFactory.createLineBorder(Color.black));    jButton_jx.setToolTipText("画矩形");    jButton_jx.setText("矩形");    jButton_jx.addMouseListener(new java.awt.event.MouseAdapter() {      public void mouseClicked(MouseEvent e) {        jButton_jx_mouseClicked(e);      }    });    jButton_qb.setText("铅笔");    jButton_qb.addMouseListener(new java.awt.event.MouseAdapter() {      public void mouseClicked(MouseEvent e) {        jButton_qb_mouseClicked(e);      }    });    jButton_qb.setBackground(SystemColor.desktop);    jButton_qb.setBorder(BorderFactory.createLineBorder(Color.black));    jButton_qb.setToolTipText("画铅笔画");    jButton_xp.setBackground(SystemColor.desktop);    jButton_xp.setBorder(BorderFactory.createLineBorder(Color.black));    jButton_xp.setToolTipText("擦除图画");    jButton_xp.setText("橡皮");    jButton_xp.addMouseListener(new java.awt.event.MouseAdapter() {      public void mouseClicked(MouseEvent e) {        jButton_xp_mouseClicked(e);      }    });    jMenuColorSel.setBackground(SystemColor.desktop);    jMenuColorSel.setText("颜色");    jMenuFileLoad.setBackground(SystemColor.desktop);    jMenuFileLoad.setToolTipText("");    jMenuFileLoad.setActionCommand("加载图片");    jMenuFileLoad.setText("加载图片");    jMenuFileLoad.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        jMenuFileLoad_actionPerformed(e);      }    });    ppn.setBorder(BorderFactory.createLineBorder(Color.black));    ppn.setBounds(new Rectangle(5, 26, 461, 296));    jMenuIfEmpty.setBackground(UIManager.getColor("Desktop.background"));    jMenuIfEmpty.setText("图形");    jMenuItem2_w.setBackground(SystemColor.desktop);    jMenuItem2_w.setText("虚体");    jMenuItem2_w.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        jMenuItem2_w_actionPerformed(e);      }    });    jMenuFileSave.setBackground(SystemColor.desktop);    jMenuFileSave.setText("保存图片");    jMenuFileSave.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        jMenuIFileSave_actionPerformed(e);      }    });    jMenuPenColorSel.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        jMenuPenColorSel_actionPerformed(e);      }    });    jMenuPenColorSel.setBackground(SystemColor.desktop);    jMenuPenColorSel.setToolTipText("");    jMenuPenColorSel.setText("画笔颜色");    jMenuItem1_w.setBackground(SystemColor.desktop);    jMenuItem1_w.setToolTipText("");    jMenuItem1_w.setText("实体");    jMenuItem1_w.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        jMenuItem1_w_actionPerformed(e);      }    });    jMenuFile.add(jMenuFileLoad);    jMenuFile.add(jMenuFileSave);    jMenuFile.add(jMenuFileExit);    jMenuHelp.add(jMenuHelpAbout);    jMenuBarPic.add(jMenuFile);    jMenuBarPic.add(jMenuColorSel);    jMenuBarPic.add(jMenuIfEmpty);    jMenuBarPic.add(jMenuHelp);    this.setJMenuBar(jMenuBarPic);    jToolBarPic.add(jButton_ty, null);    jToolBarPic.add(jButton_zx, null);    jToolBarPic.add(jButton_qc, null);    jToolBarPic.add(jButton_jx, null);    jToolBarPic.add(jButton_qb, null);    jToolBarPic.add(jButton_xp, null);    //////////////////////    ppn.setSize(461,296);    contentPane.add(ppn);    contentPane.add(jToolBarPic, null);    //////////////////////    jMenuIfEmpty.add(jMenuItem1_w);    jMenuIfEmpty.add(jMenuItem2_w);    jMenuColorSel.add(jMenuPenColorSel);  }  /**File | Exit action performed*/  public void jMenuFileExit_actionPerformed(ActionEvent e) {    System.exit(0);  }  /**Help | About action performed*/  public void jMenuHelpAbout_actionPerformed(ActionEvent e) {    GraFrame_AboutBox dlg = new GraFrame_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);    }  }  void jButton_ty_mouseClicked(MouseEvent e) {    ppn.mode = 3;  }  void jButton_zx_mouseClicked(MouseEvent e) {    ppn.mode = 1;  }  void jButton_jx_mouseClicked(MouseEvent e) {    ppn.mode = 2;  }  void jButton_qb_mouseClicked(MouseEvent e) {    ppn.mode = 4;  }  void jButton_xp_mouseClicked(MouseEvent e) {    ppn.mode = 5;  }  void jButton_qc_mouseClicked(MouseEvent e) {    ppn.clearAll();  }  void jMenuItem1_w_actionPerformed(ActionEvent e) {    ppn.isempty = false;  }  void jMenuItem2_w_actionPerformed(ActionEvent e) {    ppn.isempty = true;  }  void jMenuFileLoad_actionPerformed(ActionEvent e) {    JFileChooser jfc = new JFileChooser();    jfc.setFileFilter(new JPGFilter());    int option = jfc.showOpenDialog(this);    File f = jfc.getSelectedFile();    ppn.loadimage(f.getAbsolutePath());  }  void jMenuIFileSave_actionPerformed(ActionEvent e) {    JFileChooser jfc = new JFileChooser();    jfc.setFileFilter(new JPGFilter());    int option = jfc.showSaveDialog(this);  }  void jMenuPenColorSel_actionPerformed(ActionEvent e) {    JColorChooser jcc = new JColorChooser();    ppn.cl = jcc.showDialog(this,"颜色选择",ppn.getForeground());    ppn.setForeground(ppn.cl);  }}class GraFrame_AboutBox extends JDialog implements ActionListener {  JPanel panel1 = new JPanel();  JPanel panel2 = new JPanel();  JPanel insetsPanel1 = new JPanel();  JPanel insetsPanel2 = new JPanel();  JPanel insetsPanel3 = new JPanel();  JButton button1 = new JButton();  JLabel imageLabel = new JLabel();  JLabel label1 = new JLabel();  JLabel label2 = new JLabel();  JLabel label3 = new JLabel();  JLabel label4 = new JLabel();  BorderLayout borderLayout1 = new BorderLayout();  BorderLayout borderLayout2 = new BorderLayout();  FlowLayout flowLayout1 = new FlowLayout();  GridLayout gridLayout1 = new GridLayout();  String product = "\u56fe\u5f62\u56fe\u50cf\u8bbe\u8ba1";  String version = "1.0";  String copyright = "Copyright (c) 2003";  String comments = "";  public GraFrame_AboutBox(Frame parent) {    super(parent);    enableEvents(AWTEvent.WINDOW_EVENT_MASK);    try {      jbInit();    }    catch(Exception e) {      e.printStackTrace();    }    pack();  }  /**Component initialization*/  private void jbInit() throws Exception  {    this.setTitle("About");    setResizable(false);    panel1.setLayout(borderLayout1);    panel2.setLayout(borderLayout2);    insetsPanel1.setLayout(flowLayout1);    insetsPanel2.setLayout(flowLayout1);    insetsPanel2.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));    gridLayout1.setRows(4);    gridLayout1.setColumns(1);    label1.setText(product);    label2.setText(version);    label3.setText(copyright);    label4.setText(comments);    insetsPanel3.setLayout(gridLayout1);    insetsPanel3.setBorder(BorderFactory.createEmptyBorder(10, 60, 10, 10));    button1.setText("Ok");    button1.addActionListener(this);    insetsPanel2.add(imageLabel, null);    panel2.add(insetsPanel2, BorderLayout.WEST);    this.getContentPane().add(panel1, null);    insetsPanel3.add(label1, null);    insetsPanel3.add(label2, null);    insetsPanel3.add(label3, null);    insetsPanel3.add(label4, null);    panel2.add(insetsPanel3, BorderLayout.CENTER);    insetsPanel1.add(button1, null);    panel1.add(insetsPanel1, BorderLayout.SOUTH);    panel1.add(panel2, BorderLayout.NORTH);  }  /**Overridden so we can exit when window is closed*/  protected void processWindowEvent(WindowEvent e) {    if (e.getID() == WindowEvent.WINDOW_CLOSING) {      cancel();    }    super.processWindowEvent(e);  }  /**Close the dialog*/  void cancel() {    dispose();  }  /**Close the dialog on a button event*/  public void actionPerformed(ActionEvent e) {    if (e.getSource() == button1) {      cancel();    }  }}

⌨️ 快捷键说明

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