由于所谓的不稳定,在多次努力后,已经没有多少耐性在这里这样耗体力不挣营养地继续折腾,但是上篇依然缺少部分代码,现补上:
我的画板入口:
public class MyDrawBoard {
public static void main(String[] args) {
new MyDrawBoard().init();
}
public void init() {
final ListImp<Shape> list = new ListImp<Shape>();
JFrame drawBoard = new JFrame();
new InitDrawBoard(drawBoard, "画图板", list);
}
}
窗体属性设置:
public class InitDrawBoard {
JFrame drawBoard;
ListImp<Shape> list;
/**
* 初始化面板
*/
public InitDrawBoard(JFrame drawBoard,String str,final ListImp<Shape> list) {
this.drawBoard=drawBoard;
this.list= list;
// 设置窗体属性
drawBoard.setTitle(str);
drawBoard.setLocation(400,200);
drawBoard.setSize(600, 480);
drawBoard.setDefaultCloseOperation(3);
BorderLayout bl =new BorderLayout();
drawBoard.setLayout(bl);
//创建菜单栏menuBar,并添加到窗体上
JMenuBar menuBar = new JMenuBar();
menuBar.setPreferredSize(new Dimension(600, 30));
new InitMenuBar(menuBar);
drawBoard.add(menuBar,BorderLayout.NORTH);
// 创建绘制选项面板drawTypeToolBar,并添加到窗体上
JToolBar drawTypeToolBar = new JToolBar();
drawTypeToolBar.setPreferredSize(new Dimension(95, 300));
//绘制选项数组
javax.swing.JRadioButton[] radioButton=new javax.swing.JRadioButton[16];
//绘制选项名称数组
String[] buttonName=new String[16];
for(int i=0;i<buttonName.length;i++){
buttonName[i]="draw"+i;
}
// 创建单选键组 创建单选键 并添加到单选键组中和面板jpanel2上
javax.swing.ButtonGroup typeGroup = new javax.swing.ButtonGroup();
new InitDrawType(drawTypeToolBar,typeGroup,buttonName,radioButton);
drawBoard.add(drawTypeToolBar,BorderLayout.WEST);
// 创建绘图区域面板drawAreaPanel,并添加到窗体上
JPanel drawAreaPanel = new JPanel(){
/**
* 图形重绘 重写父类paint方法 将自己的图形数据传给重绘方法,进行重绘
*
* @param g
* 画布
*
*/
private static final long serialVersionUID = 1L;
public void paint(Graphics g) {
super.paint(g);
// 遍历
for (int i = 0; i < list.size(); i++) {
Shape shape = list.get(i);
shape.draw(g);
}
}
};
drawAreaPanel.setPreferredSize(new Dimension(550, 350));
new InitDrawArea(drawAreaPanel);
drawBoard.add(drawAreaPanel,BorderLayout.CENTER);
//创建颜色面板
JToolBar colorToolBar = new JToolBar();
JLabel lbColorDraw = new JLabel();
JLabel lbColorFill = new JLabel();
new InitColorToolBar(colorToolBar,lbColorDraw,lbColorFill);
colorToolBar.setPreferredSize(new Dimension(600,80));
drawBoard.add(colorToolBar,BorderLayout.SOUTH);
// 设置可见
drawBoard.setVisible(true);
// drawAreaPanel获得画布
java.awt.Graphics g = drawAreaPanel.getGraphics();
// 创建鼠标监听器,加到drawAreaPanel面板上
DrawAreaLis moulis = new DrawAreaLis(g,typeGroup, buttonName, drawAreaPanel,list,lbColorDraw,lbColorFill,radioButton);
drawAreaPanel.addMouseListener(moulis);
drawAreaPanel.addMouseMotionListener(moulis);
}
}
分享到:
相关推荐
《深入探索XP系统自带画板》 XP操作系统中内置的画板工具,是许多用户初次接触数字绘画的起点。这个简单而实用的程序,虽然在功能上无法与专业级的图像编辑软件相比,但它的易用性和基础功能,使得它在日常生活中...
【标题】"仿windows画板.zip"是一款基于C#编程语言开发的图形用户界面应用程序,模仿了Windows系统自带的画图工具。这个项目是大三学生的课程设计成果,旨在教授和实践C#语言以及图形界面设计的基本原理和技巧。 ...
【标题】"仿windows的画板"是一款基于Visual Studio 2005的MFC应用程序,它模仿了Windows操作系统内置的画板工具,并在此基础上扩展了一些实用功能。这个项目旨在为用户提供一个类似系统画板的图形编辑环境,同时...
在本文中,我们将深入探讨如何使用Java编程语言来实现一个类似于Windows操作系统中的简易画板程序。这个Java小程序将提供基本的绘图功能,使用户能够通过鼠标或触控设备进行绘画创作。 首先,我们需要理解Java GUI...
这是一个关于C#编程语言实现的高仿Windows画板软件的源码资源。这个项目旨在提供一个功能完备的、与原版Windows画板相似的应用程序,适用于学习和参考。通过分析和理解这段源码,开发者可以深入掌握C#编程在图形用户...
"C# 画画板 仿window画画板"项目是一个利用C#语言构建的简单画板应用,旨在模仿Windows操作系统内建的画图工具。这个项目对于初学者来说是一个很好的实践平台,它可以帮助开发者了解图形用户界面(GUI)的设计,以及...
在本文中,我们将深入探讨如何使用C#编程语言和GDI+库来创建一个仿Windows画板应用程序。GDI+(Graphics Device Interface Plus)是.NET Framework中的一个图形处理API,它为开发者提供了丰富的图形绘制功能,包括...
java写的仿windows画板 可以调色 已经打成了jar包 方便使用 需要源码的联系我
在本项目中,"C#高仿Windows7画板"是一个使用C#编程语言开发的简易画图应用程序,旨在模仿Windows 7操作系统内置的画图工具。这个项目非常适合C#初学者,它提供了实践和学习C#图形用户界面(GUI)编程、事件处理以及...
几何画板基础篇 基础篇之: 几何画板作图方法 1 利用基本工具作图----甘志高(laoshi_G)编写 2 用构造菜单作图---甘志高(laoshi_G)编写 1.1 几何画板的启动和绘图工具的使用 1.2 用绘图工具绘制简单的几何图形 1.3...
与Windows XP相比较,Windows 7中的“画图”程序有了巨大的变化,你怀念Windows XP中的“画板”吗?你想在Windows 7中运行Windows XP的画板吗?那么请下载Paint XP吧。它是一个独立的程序,你现在可以在Windows 7下...
"VC6.0 实现的仿windows 画板程序(painter)"这个标题揭示了我们讨论的核心内容,即一个基于Visual C++ 6.0(简称VC6.0)开发的图形用户界面应用,该程序模仿了Windows操作系统内置的“画图”工具。"仿windows 画板...
【标题】"vs2010编写的仿画板"是一个使用Microsoft Visual Studio 2010开发的软件项目,其主要目标是实现一个类似画板的用户界面,让用户能够进行基本的图形绘制操作。这个画板应用包含了画直线、使用橡皮擦以及绘制...
1、实现友好的Windows画板界面,包括Windows基本菜单、画图功能菜单和常用菜单的工具栏。 2、实现画不同颜色,不同宽度,不同线型的线段、椭圆和矩形。 3、实现自定义字体的大小颜色并且输出到画图板上。 4、实现画...
【标题】"仿WindowsXP画图板设计(1)"是一个关于开发类似Windows XP操作系统中经典画图工具的项目。这个项目旨在帮助学习者理解和实践图形用户界面(GUI)设计、事件处理以及基本的绘图功能。 【描述】虽然描述为空...
本篇将详细介绍如何利用易语言来实现画板上的文字书写功能,以及涉及到的相关API函数。 一、画板基础 在易语言中,画板是一种可以进行图形绘制的控件,用户可以通过鼠标或键盘操作在画板上自由绘画。画板通常用于...
在VS2015环境下,利用MFC框架实现的一款高仿“画图”工具,实现绝大部分功能甚至更多创新点。(注释超详细) 实现了点、直线、曲线、折线、矩形、圆形、多边形等等形状,并且具有区域限制、鼠标捕捉等功能;...
在这个"易语言画板透明去色"的主题中,我们主要探讨的是如何利用易语言来实现一个功能,即在画板上进行图像处理,实现透明度调整和去色效果。 首先,我们需要了解画板的基本概念。在计算机图形学中,画板是一个可以...
2. **AWT(Abstract Window Toolkit)与Swing的区别**: AWT是Java早期的GUI库,而Swing是建立在AWT之上的,提供了更丰富的组件和更好的外观。Swing组件是轻量级的,性能优于AWT,并且可以自定义样式。 3. **...
这个画板允许用户通过鼠标在页面上进行涂鸦,从而实现在线绘图的效果。以下是对该技术实现的详细解析: 首先,jQuery是一个广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互。在这个项目...