import java.io.File;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.awt.image.*;
import javax.imageio.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.filechooser.*;
import java.util.ArrayList;
import java.awt.event.ItemListener;
import java.awt.geom.*;
import com.sun.image.codec.jpeg.*;
import java.awt.Graphics;
import java.io.*;
import java.util.*;
import java.awt.image.BufferedImage;
import java.awt.image.PixelGrabber;
public class Manager extends JFrame implements ItemListener
{
ObjectInputStream input;
ObjectOutputStream output;
JButton choices[]; //按钮数组,存放以下名称的功能按钮
int con = 1;//画笔大小
int Econ = 2;//橡皮大小
int pctype=1;
float a=1,b=0,c=0,d=1,l=0,m=0;
String names[]={"直线","矩形","圆矩形","椭圆","画笔","放缩",
"橡皮","拉线","填充","拾取","前景","背景"
};
JLabel statusBar; //显示鼠标状态的提示条
DrawPanel drawingArea; //画图区域
int width=800,height=550; //定义画图区域初始大小
drawings[] itemList=new drawings[5000]; //用来存放基本图形的数组
int currentChoice=4; //设置默认画图状态为随笔画
int index=0;
int indexjz=0;
Color color1=Color.black;
Color color2=Color.white;
int R,G,B; //用来存放当前色彩值
int R1=255,G1=255,B1=255; //用来存放当前背景色彩值
private int stroke=1;
JMenuBar bar;
JMenu file,edit,picture;
JMenuItem 新建,打开,保存,退出;
JMenuItem 撤消,清除,重做;
JMenuItem 设置平移向量,缩放,平移,设置缩放比例,设置旋转角度,旋转,对称;
Choice SizeChoice,EraserChoice,pcChoice;
JPanel pWest;
JPanel p1,p22,p33,p44,p55,p2,p3,p66;
public Manager()
{super("简易图形编辑器");
bar=new JMenuBar();
file=new JMenu("文件");
edit=new JMenu("编辑");
picture=new JMenu("图像");
新建=new JMenuItem("新建");
打开=new JMenuItem("打开");
保存=new JMenuItem("保存");
退出=new JMenuItem("退出");
清除=new JMenuItem("清除");
撤消=new JMenuItem("撤消");
重做=new JMenuItem("重做");
设置平移向量=new JMenuItem("设置平移向量");
设置缩放比例=new JMenuItem("设置缩放比例");
缩放=new JMenuItem("缩放");
平移=new JMenuItem("平移");
设置旋转角度=new JMenuItem("设置旋转角度");
旋转=new JMenuItem("旋转");
对称=new JMenuItem("对称");
file.add(新建);
file.add(打开);
file.add(保存);
file.add(退出);
edit.add(清除);
edit.add(撤消);
edit.add(重做);
picture.add(设置平移向量);
picture.add(设置缩放比例);
picture.add(设置旋转角度);
picture.add(平移);
picture.add(缩放);
picture.add(旋转);
picture.add(对称);
bar.add(file);
bar.add(edit);
bar.add(picture);
setJMenuBar(bar);
新建.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e)
{
newFile(); //如果被触发,则调用新建文件函数段
}
}
);
打开.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e)
{
loadFile(); //如果被触发,则调用打开文件函数段
}
}
);
保存.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e)
{
saveFile(); //如果被触发,则调用保存文件函数段
}
}
);
退出.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e)
{
System.exit(0); //如果被触发,则退出画图板程序
}
}
);
清除.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e)
{
newFile();
}
}
);
撤消.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e)
{
if(index>0)
{index--;
repaint();}
}
}
);
重做.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e)
{ index++;
repaint();
}}
);
设置平移向量.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e)
{
setpingyi();
}
}
);
设置缩放比例.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e)
{
setsuofang();
}
}
);
设置旋转角度.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e)
{
xuanzhuang();
}
}
);
缩放.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e)
{
currentChoice=8;
for(int i=0;i<index;i++)
{ itemList[i].m=m;
itemList[i].l=l;
itemList[i].a=a;
itemList[i].b=b;
itemList[i].c=c;
itemList[i].d=d;}
//itemList[i].x1=itemList[i].x1*itemList[i].scale_x+313*(1-itemList[i].scale_x);
// itemList[i].x2=itemList[i].x2*itemList[i].scale_x+313*(1-itemList[i].scale_x);
// itemList[i].y1=itemList[i].y1*itemList[i].scale_y+236*(1-itemList[i].scale_x);
// itemList[i].y2=itemList[i].y2*itemList[i].scale_y+236*(1-itemList[i].scale_x);
a=1;b=0;c=0;d=1;l=0;m=0;
repaint();
}
}
);
平移.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e)
{
currentChoice=9;
for(int i=0;i<index;i++)
{
itemList[i].m=m;
itemList[i].l=l;
itemList[i].a=a;
itemList[i].b=b;
itemList[i].c=c;
itemList[i].d=d;
}
//itemList[i].x1=itemList[i].x1*itemList[i].scale_x+313*(1-itemList[i].scale_x);
// itemList[i].x2=itemList[i].x2*itemList[i].scale_x+313*(1-itemList[i].scale_x);
// itemList[i].y1=itemList[i].y1*itemList[i].scale_y+236*(1-itemList[i].scale_x);
// itemList[i].y2=itemList[i].y2*itemList[i].scale_y+236*(1-itemList[i].scale_x);
a=1;b=0;c=0;d=1;l=0;m=0;
repaint();
}
}
);
旋转.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e)
{
currentChoice=10;
for(int i=0;i<index;i++)
{
itemList[i].m=m;
liqianyangchun
- 粉丝: 0
- 资源: 4
最新资源
- 基于高频方波电压注入零低速IPMSM无感控制算法simulink仿真模型 ①在估计的d轴注入高频方波电压来估计转子位置,具有较高的稳态精度和动态性能 该仿真调试效果不错,曾应用到实际电机中去 ②阐
- 深度学习牛脸识别数据集
- FANUC常用参数介绍.ppt
- FANUC宏程序.ppt
- FANUC基础.pdf
- cie9ve3测试文件
- PMC设计与编程培训资料——培训课.pdf
- 宏程序B-10057_05 (Custom Macro) cn.pdf
- 加工中心基本操作.pdf
- 加工中心编程.pdf
- 立式加工中心的维护和保养201703.pdf
- 立式加工中心的维护和保养201703.pdf
- 立式加工中心操作与编程-SIEMENS.pptx
- 立加828D编程.pptx
- 龙门机械故障培训.pdf
- 数控机床电气基础知识.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈