/*文件名MainMenuBar.java
*定义了一个MainMenuBar类
*建立该应用程序的主菜单,它包含了该应用程序的主要功能
*/
package drawing;
import java.awt.*;
import java.util.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
class MainMenuBar extends JMenuBar
{
public static GraphicsPane p; //用于记录菜单所添加到的JDesktopPane对象
//主菜单的“文件”栏
private JMenu fileMenu;
private JMenuItem newItem;
private JMenuItem openItem;
private JMenuItem closeItem;
private JMenuItem closeAItem;
private JMenuItem saveAsItem;
private JMenuItem saveItem;
private JMenuItem saveAItem;
private JMenuItem printItem;
//private JMenu recentFMenu;
private JMenuItem exitItem;
//主菜单的“编辑”栏
private JMenu editMenu;
private JMenuItem cutItem;
private JMenuItem copyItem;
private JMenuItem pasteItem;
private JMenuItem deleteItem;
//主菜单的“颜色”栏
private JMenu colorMenu;
private JMenuItem lineColorItem;
private JCheckBoxMenuItem paint3D;
private JMenuItem paintColorItem;
//主菜单的“窗口”栏
private JMenu windowMenu;
private String[] layout; //用于保存排列字窗口名称的数组
private String[] modify; //用于保存“正常”,“放大”,“缩小”字符串的数组
private JCheckBoxMenuItem toolBar; //是否显示工具条的菜单条
private JCheckBoxMenuItem grid; //是否显示网格的菜单条
private JCheckBoxMenuItem toolBox; //是否显示工具箱的菜单条
//主菜单的“界面风格”栏
private JMenu pattenMenu;
private String[] patten; //用于存储窗口风格的字符串数组
//主菜单的“帮助”栏
private JMenu helpMenu;
private JMenuItem helpItem;
private JMenuItem aboutItem;
//构造函数
public MainMenuBar(GraphicsPane tempPane)
{
p = tempPane;
////////////////////////////////////////////////////////////////
//向主菜单栏中添加“文件”菜单项
fileMenu = new JMenu("文件(F)");
fileMenu.setMnemonic('F');
newItem = new JMenuItem("新建(N)",'N');
newItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK,false));
newItem.setIcon(new ImageIcon("images/new.gif"));
newItem.addActionListener(new ActionListener()
{ public void actionPerformed(ActionEvent e)
{
InterFrame interFrame = new InterFrame("新建文件",true,true,true,true,(ToolBox)(p.getParent()).getComponent(2));
interFrame.addInternalFrameListener(new InterFrameAdapter());
//interFrame.pack();
p.add(interFrame);
p.addCascade(interFrame);
interFrame.setVisible(true);
}
});
openItem = new JMenuItem("打开...(O)");
openItem.setMnemonic('O');
openItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK,false));
openItem.setIcon(new ImageIcon("images/open.gif"));
openItem.addActionListener(new OpenFileAction());
closeItem = new JMenuItem("关闭(C)");
closeItem.setMnemonic('C');
closeItem.setIcon(new ImageIcon("images/close.png"));
closeItem.addActionListener(new CloseInterFrame());
closeAItem = new JMenuItem("全部关闭(F)");
closeAItem.setMnemonic('F');
closeAItem.setIcon(new ImageIcon("images/closeAll.gif"));
closeAItem.addActionListener(new CloseAllFrame());
saveAsItem = new JMenuItem("另存为...");
saveAsItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.ALT_MASK,false));
saveAsItem.setIcon(new ImageIcon("images/saveas.gif"));
saveAsItem.addActionListener(new SaveAsFileAction());
saveItem = new JMenuItem("保存");
saveItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK,false));
saveItem.setIcon(new ImageIcon("images/save.gif"));
saveItem.addActionListener(new SaveFileAction());
saveAItem = new JMenuItem("全部保存(S)");
saveAItem.setMnemonic('S');
saveAItem.setIcon(new ImageIcon("images/asave.png"));
printItem = new JMenuItem("打印");
printItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK,false));
printItem.setIcon(new ImageIcon("images/print.gif"));
//recentFMenu = new JMenu("最近打开文档");
exitItem = new JMenuItem("退出(E)");
exitItem.setMnemonic('E');
exitItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,InputEvent.CTRL_MASK,false));
exitItem.setIcon(new ImageIcon("images/exit.gif"));
exitItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
//退出系统(可能会抛出异常例如退出时保存文件等等)
System.exit(0);
}
});
fileMenu.add(newItem);
fileMenu.add(openItem);
fileMenu.add(closeItem);
fileMenu.add(closeAItem);
fileMenu.addSeparator();
fileMenu.add(saveAsItem);
fileMenu.add(saveItem);
fileMenu.add(saveAItem);
fileMenu.addSeparator();
fileMenu.add(printItem);
//fileMenu.add(recentFMenu);
fileMenu.addSeparator();
fileMenu.add(exitItem);
this.add(fileMenu);
/////////////////////////////////////////////////////////////////////
//向主菜单栏中添加“编辑”菜单项
editMenu = new JMenu("编辑(E)");
editMenu.setMnemonic('E');
cutItem = new JMenuItem("剪切(X)",'X');
cutItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.ALT_MASK,false));
cutItem.setIcon(new ImageIcon("images/cut.png"));
copyItem = new JMenuItem("复制(C)",'C');
copyItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK,false));
copyItem.setIcon(new ImageIcon("images/copy.png"));
pasteItem = new JMenuItem("删除最近绘图(V)",'V');
pasteItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK,false));
pasteItem.setIcon(new ImageIcon("images/paste.png"));
pasteItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
if(p.getComponentCount() == 0)
throw new Exception();
InterFrame iframe = (InterFrame)p.getSelectedFrame();
(iframe.getIPanel()).removeLast();
}
catch(Exception exp)
{
JOptionPane.showMessageDialog(null,"请打开子窗口后再进行操作!");
}
}
});
deleteItem = new JMenuItem("清空画板(D)",'D');
deleteItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE,0,false));
deleteItem.setIcon(new ImageIcon("images/dele.png"));
deleteItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
没有合适的资源?快使用搜索试试~ 我知道了~
使用Java编写的绘图板应用程序
共88个文件
class:49个
gif:17个
png:12个
4星 · 超过85%的资源 需积分: 9 98 下载量 86 浏览量
2008-11-05
15:39:57
上传
评论 1
收藏 159KB RAR 举报
温馨提示
一个用Java的swing包中的类实现的画图板的小型应用程序,实现了直线、矩形等图形的绘制效果。
资源推荐
资源详情
资源评论
收起资源包目录
2D-Graphics.rar (88个子文件)
2D-Graphics
MainFrame.java 7KB
InterFrame.java 8KB
drawing
MainMenuBar$5.class 856B
MainMenuBar$9.class 640B
DrawEclip.class 691B
MainMenuBar$12.class 983B
MainMenuBar$10.class 639B
CloseAllFrame.class 805B
ToolBarAction.class 2KB
MainMenuBar$4.class 1KB
ToolBox.class 4KB
LabelBtn.class 3KB
MainMenuBar$1.class 1KB
DrawRect.class 690B
Graphics.class 838B
GraphicShapeIcon.class 2KB
TabbedPages.class 1016B
DrawFillRoundRect.class 815B
IFWindowAdapter.class 1KB
InterPanel.class 2KB
MainMenuBar.class 7KB
LKFileFilter.class 898B
SaveAsFileAction.class 2KB
MainToolBar$ToolBarAction.class 725B
GraphicsPane.class 3KB
DrawRoundRect.class 708B
MainToolBar.class 2KB
MainMenuBar$13.class 991B
CloseAction.class 1KB
CloseInterFrame.class 745B
InterFrame.class 5KB
SaveFileAction.class 2KB
InterFrameAdapter.class 1KB
MainMenuBar$8.class 635B
MainMenuBar$11.class 983B
InterFrameApt.class 944B
CloseBtn.class 1KB
DrawLine.class 564B
LabelBtnListener.class 2KB
DrawShape.class 2KB
DrawFillRect.class 785B
MainFrame.class 1KB
linePanel.class 898B
OpenFileAction.class 3KB
MouseState.class 279B
MainMenuBar$6.class 860B
GraphicsOps.class 877B
MainMenuBar$2.class 591B
MainMenuBar$7.class 852B
MainMenuBar$3.class 1KB
DrawFillEclip.class 787B
MainMenuBar.java 25KB
Graphics.jar 44KB
MainToolBar.java 7KB
images
tbox.GIF 598B
PASTE.png 3KB
exit.GIF 634B
DELE.png 3KB
normal.GIF 1000B
grid.GIF 966B
print.gif 908B
open.GIF 336B
paintColor.png 3KB
WHOR.png 3KB
reduce.gif 376B
java.gif 914B
new.GIF 368B
WVER.png 3KB
zoom.GIF 941B
closeAll.GIF 632B
saveas.GIF 618B
help.GIF 988B
Thumbs.db 22KB
lineColor.GIF 956B
about.GIF 1KB
WCD.png 3KB
motif.png 3KB
save.GIF 374B
windows.GIF 1019B
TBar.png 3KB
ASAVE.png 3KB
COPY.png 3KB
CLOSE.png 3KB
CUT.png 3KB
DrawGraphics.java 6KB
Graphics.java 556B
ToolBox.java 9KB
GraphicShapeIcon.java 17KB
共 88 条
- 1
sunlik1982
- 粉丝: 0
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- mybatis动态sql及其JAVA示例
- 微软常用运行库 游戏运行库 VC++各个版本
- 微信小程序开发教程.pptx
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- 锐捷网络认证中心网络管理.pdf
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- SD8233LF是一款用于单按键触摸及接近感应开关,其用途是替代传统的机械型开关芯片IC
- 基于YOLOv5的烟雾火焰检测算法研究
- 基于STM32的联合调试侦听设备解决方案原理图PCB源文件调试工具视频(大赛作品)
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页