mainframe java_mainframe.java~229~ 源代码在线查看 - 一个多方位演示系统 资源下载 虫虫电子下载站...

//菜单项准备输出文字 void writeTextItem_actionPerformed(ActionEvent e) { lineType = 7; } //初始化点p1和p2 void jScrollPane1_mousePressed(MouseEvent e) { p1 = e.getPoint(); p2 = p1; } //进行图形绘制 void jScrollPane1_mouseDragged(MouseEvent e) { g = this.jScrollPane1.getGraphics(); //lineType表示所绘制的图形类型:1表示绘制线段,2表示绘制圆,3表示绘制矩形 //4表示绘制椭圆,5表示绘制填充圆,6表示绘制任意线段,7表示输出文字 switch(lineType){ case 1: //用背景颜色覆盖前面的直线 g.setColor(this.getBackground()); g.drawLine(p1.x,p1.y,p2.x,p2.y); //设置当前画图颜色并绘制线段 g.setColor(colour); g.drawLine(p1.x,p1.y,e.getX(),e.getY()); p2 = e.getPoint(); break; case 2: g.setColor(this.getBackground()); if(Math.abs(e.getX() - p1.x) > Math.abs(e.getY() - p1.y)){ //用背景颜色覆盖前面的圆 if(Math.abs(p2.x - p1.x) > Math.abs(p2.y - p1.y)) g.drawOval(p1.x,p1.y,Math.abs(p2.x-p1.x),Math.abs(p2.x-p1.x)); else g.drawOval(p1.x,p1.y,Math.abs(p2.y-p1.y),Math.abs(p2.y-p1.y)); //设置当前的画图颜色并绘制圆 g.setColor(colour); g.drawOval(p1.x, p1.y, Math.abs(e.getX() - p1.x),Math.abs(e.getX() - p1.x)); } else{ 用背景颜色覆盖前面的圆 if(Math.abs(p2.x - p1.x) > Math.abs(p2.y - p1.y)) g.drawOval(p1.x,p1.y,Math.abs(p2.x-p1.x),Math.abs(p2.x-p1.x)); else g.drawOval(p1.x,p1.y,Math.abs(p2.y-p1.y),Math.abs(p2.y-p1.y)); //设置当前的画图颜色并绘制圆 g.setColor(colour); g.drawOval(p1.x, p1.y, Math.abs(e.getY() - p1.y),Math.abs(e.getY() - p1.y)); } p2 = e.getPoint(); break; case 3: //用背景颜色覆盖前面的圆 g.setColor(this.getBackground()); g.drawRect(p1.x,p1.y,Math.abs(p2.x-p1.x),Math.abs(p2.y-p1.y)); //设置当前画图颜色并绘制矩形 g.setColor(colour); g.drawRect(p1.x,p1.y,Math.abs(e.getX()-p1.x),Math.abs(e.getY()-p1.y)); p2 = e.getPoint(); break; case 4: //用背景颜色覆盖前面的椭圆 g.setColor(this.getBackground()); g.drawOval(p1.x,p1.y,Math.abs(p2.x-p1.x),Math.abs(p2.y-p1.y)); //设置当前画图颜色并绘制椭圆 g.setColor(colour); g.drawOval(p1.x,p1.y,Math.abs(e.getX()-p1.x),Math.abs(e.getY()-p1.y)); p2 = e.getPoint(); break; case 5: //用背景颜色覆盖前面的填充圆 g.setColor(this.getBackground()); g.fillOval(p1.x,p1.y,Math.abs(p2.x-p1.x),Math.abs(p2.y-p1.y)); //设置当前画图颜色并绘制填充圆 g.setColor(colour); g.fillOval(p1.x,p1.y,Math.abs(e.getX()-p1.x),Math.abs(e.getY()-p1.y)); p2 = e.getPoint(); break; case 6: //设置当前画图颜色并绘制任意线段 g.setColor(colour); g.drawLine(p1.x,p1.y,e.getX(),e.getY()); p1 = e.getPoint(); break; case 7: //输出文字 JOptionPane optionPane = new JOptionPane(); String text = optionPane.showInputDialog((Component)e.getSource(),"输入文字:","Dialog for text input",JOptionPane.PLAIN_MESSAGE); if(text != null){ g.drawString(text, e.getX(), e.getY()); } break; default: break; } } //工具栏快捷键准备画线段 void lineBtn_actionPerformed(ActionEvent e) { this.drawLineItem_actionPerformed(e); } //工具栏快捷键准备画圆 void roundBtn_actionPerformed(ActionEvent e) { this.drawRoundItem_actionPerformed(e); } //工具栏快捷键准备画椭圆 void ellipseBtn_actionPerformed(ActionEvent e) { this.drawEllipseItem_actionPerformed(e); } //工具栏快捷键准备画填充圆 void fillRoundBtn_actionPerformed(ActionEvent e) { this.drawFillOvalItem_actionPerformed(e); } //工具栏快捷键准备画矩形 void rectBtn_actionPerformed(ActionEvent e) { this.drawRectangleItem_actionPerformed(e); } //工具栏快捷键准备画任意线段 void randomLineBtn_actionPerformed(ActionEvent e) { this.drawRandomItem_actionPerformed(e); } //工具栏快捷键准备输出文字 void textWriteBtn_actionPerformed(ActionEvent e) { this.writeTextItem_actionPerformed(e); } //菜单项退出系统 void exitSystemItem_actionPerformed(ActionEvent e) { System.exit(0); } //工具栏快捷键退出系统 void exitBtn_actionPerformed(ActionEvent e) { this.exitSystemItem_actionPerformed(e); } //选择当前绘图颜色 void colorBtn_actionPerformed(ActionEvent e) { JColorChooser colorChooser = new JColorChooser(); colour = colorChooser.showDialog(this,"选择颜色",colorBtn.getForeground()); } //点击鼠标后进行文字处理 void jScrollPane1_mouseClicked(MouseEvent e) { /* JOptionPane optionPane = new JOptionPane(); String text = optionPane.showInputDialog((Component)e.getSource(),"输入文字:","Dialog for text input",JOptionPane.PLAIN_MESSAGE); if(lineType == 7 && text != null){ g = this.jScrollPane1.getGraphics(); g.drawString(text,e.getX(),e.getY()); }*/ } //创建新的绘图面板 void newFileBtn_actionPerformed(ActionEvent e) { g = this.jScrollPane1.getGraphics(); g.clearRect(0,0,this.jScrollPane1.getWidth(),this.jScrollPane1.getHeight()); colour = new Color(122,122,122); g.setColor(colour); lineType = 0; } //******************************声音播放模块***************************** //选择声音文件 void audioFileOpenItem_actionPerformed(ActionEvent e) { JFileChooser musicChooser = new JFileChooser(); int returnVal = musicChooser.showOpenDialog(this); if(returnVal == JFileChooser.APPROVE_OPTION){ try { musicURL = musicChooser.getSelectedFile().toURL(); } catch (MalformedURLException ex) {} } } //开始播放音乐 void playAudioItem_actionPerformed(ActionEvent e) { if(musicURL == null) return; music = Applet.newAudioClip(musicURL); music.loop(); } //停止播放音乐 void abortAudioItem_actionPerformed(ActionEvent e) { music.stop(); } //*****************************动画制作模块******************************* //选择动画文件 void openImageFileItem_actionPerformed(ActionEvent e) { JFileChooser imageChooser = new JFileChooser(); int returnVal = imageChooser.showOpenDialog(this); if(returnVal == JFileChooser.APPROVE_OPTION){ try { imageURL = imageChooser.getSelectedFile().toURL(); imageName = imageChooser.getSelectedFile().getName(); } catch (MalformedURLException ex) {} } } //m_demoType表示动画类型:1表示缩放平移动画,2表示不擦除平移动画,3表示淡入淡出动画 //缩放平移动画,对应的动画类型值为1 void zoomHerizonDemoItem_actionPerformed(ActionEvent e) { if(imageURL == null) return; g = this.jScrollPane1.getGraphics(); ImageIcon icon = new ImageIcon(imageURL,imageName); //将图像装入内存 image = icon.getImage(); //创建当前动画线程前终止其他动画线程 if(thread != null){ thread.stop(); thread = null; } int demoType = 1; thread = new DemoThread(image, this.jScrollPane1, demoType); thread.start(); } //不擦除平移动画,对应的动画类型值为2 void noEraseHerezonDemoItem_actionPerformed(ActionEvent e) { if(imageURL == null) return; g = this.jScrollPane1.getGraphics(); ImageIcon icon = new ImageIcon(imageURL,imageName); //将图像装入内存 image = icon.getImage(); //创建当前动画线程前终止其他动画线程 if(thread != null){ thread.stop(); thread = null; } int demoType = 2; thread = new DemoThread(image, this.jScrollPane1, demoType); thread.start(); } //淡入淡出动画,对应的动画类型值为3 void lightInOutDemoItem_actionPerformed(ActionEvent e) {/* if(imageURL == null) return; g = this.jScrollPane1.getGraphics(); ImageIcon icon = new ImageIcon(imageURL,imageName); image = icon.getImage(); //创建当前动画线程前终止其他动画线程 if(thread != null){ thread.stop(); thread = null; } int demoType = 3; thread = new DemoThread(image, this.jScrollPane1, demoType); thread.start(); */ } //终止动画线程 void stopDemoItem_actionPerformed(ActionEvent e) { if(thread != null){ thread.stop(); thread = null; g = this.jScrollPane1.getGraphics(); g.clearRect(0,0,this.jScrollPane1.getWidth(), this.jScrollPane1.getHeight()); } } //暂停播放动画 void pauseDemoItem_actionPerformed(ActionEvent e) { if (thread != null) thread.suspend(); } //继续播放动画 void resumeDemoItem_actionPerformed(ActionEvent e) { if(thread != null) thread.resume(); }}//*************************************系统自动生成代码****************************class MainFrame_drawLineItem_actionAdapter implements java.awt.event.ActionListener { MainFrame adaptee; MainFrame_drawLineItem_actionAdapter(MainFrame adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e) { adaptee.drawLineItem_actionPerformed(e); }}class MainFrame_drawRoundItem_actionAdapter implements java.awt.event.ActionListener { MainFrame adaptee; MainFrame_drawRoundItem_actionAdapter(MainFrame adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e) { adaptee.drawRoundItem_actionPerformed(e); }}class MainFrame_drawRectangleItem_actionAdapter implements java.awt.event.ActionListener { MainFrame adaptee; MainFrame_drawRectangleItem_actionAdapter(MainFrame adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e) { adaptee.drawRectangleItem_actionPerformed(e); }}class MainFrame_drawEllipseItem_actionAdapter implements java.awt.event.ActionListener { MainFrame adaptee;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值