package com032603;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JColorChooser;
import javax.swing.JFrame;
import com032603.DrawBorder;
import com032603.DrawListener;
public class DrawBorder extends JFrame{
//定义主函数
public static void main(String[] args){
//实例化DrawBorder类的对象
DrawBorder db=new DrawBorder();
//调用initUI函数
db.initUI();
}
//定义一个initUI函数
public void initUI(){
//设置属性值
this.setTitle("");
this.setSize(800, 900);
this.setDefaultCloseOperation(3);
this.setResizable(true);
this.setLocationRelativeTo(null);
this.setLayout(new FlowLayout());
JButton butLine=new JButton("Line");
JButton butRect=new JButton("Rect");
JButton butOval=new JButton("Oval");
JButton butColor=new JButton("Color");
this.add(butLine);
this.add(butRect);
this.add(butOval);
this.add(butColor);
ActionListener a=new ActionListener(){
public void actionPerformed(ActionEvent e){
if(e.getActionCommand().equals("Color")){
color=JColorChooser.showDialog(null, "颜色的选择", Color.black);
System.out.println("Color="+color);
}
else{
str=e.getActionCommand();
System.out.println("str="+str);
}
}
};
butLine.addActionListener(a);
butRect.addActionListener(a);
butOval.addActionListener(a);
butColor.addActionListener(a);
this.setVisible(true);
Graphics g=this.getGraphics();
DrawListener d=new DrawListener(g);
this.addMouseListener(d);
}
public static Color color=Color.black;
public static String str="Line";
}
package com032603;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
public class DrawListener implements MouseListener{
public int x1,x2,y1,y2;
public int x,y;
Graphics g;
public DrawListener(Graphics g){
this.g=g;
}
public void mousePressed(MouseEvent e) {
x1=e.getX();
y1=e.getY();
}
public void mouseReleased(MouseEvent e) {
System.out.print("ssss");
x2=e.getX();
y2=e.getY();
g.setColor(DrawBorder.color);
this.Draw(e);
}
public void Draw(MouseEvent e){
for(int i=0;i<100;i++){
if(x1!=x2||y1!=y2){
g.drawRect(x1, y1,Math.abs(x1-x2),Math.abs(y1-y2));
x1=x1+2;y1=y1+2;x2=x2-2;y2=y2-2;
}
}
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mouseClicked(MouseEvent e) {
}
}
- 大小: 91.1 KB
分享到:
相关推荐
### 画圆形和方形知识点详解 #### 一、教材与学情分析 - **课程背景**:本课程属于江苏省信息技术教材的一部分,适用于三年级小学生的信息技术教育。通过本课程的学习,旨在帮助学生掌握基本的图形绘制技能,特别是...
根据提供的信息,我们可以详细解析与“按键精灵之方形渐开线找怪脚本”相关的知识点。此脚本主要涉及按键精灵软件的应用、VBS(Visual Basic Script)编程语言的使用,以及通过方形渐开线的方式来寻找游戏中的怪物。...
本篇文章将详细解释如何在PADS中制作方形焊盘,这对于某些特殊应用,例如允许排线或其他组件通过的开孔,是非常有用的。 首先,我们来看第一种方法,即在板框里面再画一个板框。这种方法适用于制作较大的异形孔。...
在图像处理领域,圆检测和方形检测是两个重要的任务,它们广泛应用于自动化、机器视觉、安全监控、自动驾驶等场景。本项目使用C语言并结合MFC(Microsoft Foundation Classes)库来构建用户界面,实现了基于Hough...
在“2022华为杯数学建模B题——方形件组批优化问题”中,参赛者们面临的是一个实际工业生产中常见的优化问题。该问题涉及到如何有效地组织方形工件的生产流程,以实现批处理的最大效率。数学建模在解决这类问题时...
但是,在西方传统服饰中追求方形和圆形的客观美也具有直觉的意义。 正方形和圆形深深植根于现代服装设计中,从而扩大了设计师的美感。 同时,在本文中,作者还介绍了正方形和圆形在珠宝作品中的应用。 几何图案概念...
本文将深入探讨8*8点阵屏的工作原理、扫描方式以及如何用51单片机实现方形图的扫描和显示。 点阵屏由多个LED点组成,每个点可以独立控制亮灭。8*8点阵屏即表示它有8行8列,总共64个LED点。每个点对应一个二进制位,...
### 方形有源晶振引脚分布详解 #### 一、引言 在电子设备的设计与制造过程中,晶振作为核心的时间基准元件扮演着至关重要的角色。根据不同的应用场景和技术需求,晶振被设计成多种类型,其中方形有源晶振因其稳定...
本篇将详细讲解如何利用C#代码生成方形和圆形网格,并将其贴到物体表面。 首先,我们需要了解网格的基本概念。网格是由一系列顶点、边和面组成的几何结构,通常用于表示3D模型。在C#中,我们可以使用Unity引擎提供...
本教程将深入讲解如何创建一个自定义的方形进度条,以及如何根据需要扩展其功能。 首先,我们需要创建一个新的XML布局文件来定义自定义进度条的样式。在`res/drawable`目录下创建`square_progress_bar.xml`,在这个...
方形钢管腰形槽冲模创新设计的知识点: 1. 冲模设计概念:方形钢管腰形槽冲模是用于制造方形钢管中腰形槽口的工具,这种冲模在金属加工领域中扮演着重要角色。冲模的设计与创新直接影响到产品的质量、生产效率以及...
基于STM32单片机的方形喷洒域装置设计,主要解决方形喷洒领域内喷头喷灌均匀度不高、方形区域覆盖率不足、以及转动精度低等问题。具体知识点如下: 1. 方形喷洒域喷头的性能问题:传统方形喷洒域喷头普遍存在喷灌...
在本案例中,我们关注的是一个特殊的应用:通过鼠标事件在OpenCV窗口中实时画出方形。这个程序的核心在于利用OpenCV提供的鼠标回调函数,以便在用户点击并拖动鼠标时,动态更新窗口中的图形。 首先,我们需要理解...
在IT行业中,尤其是在UI设计和前端开发领域,创建图片为圆形或者带有圆角的方形是一项常见的任务。这些形状常用于用户头像、按钮、图标以及其他界面元素,为用户界面增添美观性和可读性。以下是对这个主题的详细阐述...
环形变压器、方形变压器与开关电源是电力转换和供电领域中常见的三种变压器类型,每种都有其独特的特性和应用场景。以下是对这些变压器的详细比较: 首先,从效率角度来看,环形变压器通常比方形变压器表现出更高的...
在图像处理领域,正方形窗口中值滤波是一种常见的去噪技术,尤其针对椒盐噪声有显著的效果。椒盐噪声通常是由数据传输错误或传感器缺陷引入的,表现为图像上黑白相间的点状噪声,严重影响图像的视觉质量和后续的分析...
在C#编程中,我们可以利用面向对象的概念来处理各种形状,如方形、圆形和三角形。这个程序通过接口实现继承和多态性,使得代码更加灵活和可扩展。以下是相关知识点的详细说明: 1. **接口(Interface)**:接口在C#...
可生成圆形、方形、及方形的组合头像。项目地址:https://github.com/Pedroafa/avatar-android 效果图:如何使用:首先创建个ImageView android:id="@ id/roundedAvatar" android:layout_height="fill_parent...
派特莱KUS 系列多层方形LED报警灯2D CADdxf,特点:独特设计的方形多层信号灯,模块构造,提供两种照明光源。防护等级IP54(不带蜂鸣器)。模块式构造,更换模块层次无需更换既有的接线。安装:室内-直立,倒置,倒下...