swing203不规则形状绘制

JAVA实现不规则图形界面 JAVA做图形界面是短处,所以也不建议大家用JAVA做界面开发,我也仅仅简单介绍不规则界面的实现方法。 阅读详情

不规则形状绘制

在这里插入图片描述

package my;

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.LinearGradientPaint;
import java.awt.MultipleGradientPaint.CycleMethod;
import java.awt.Paint;
import java.awt.Rectangle;
import java.awt.RenderingHints;
import java.awt.Shape;
import java.awt.Stroke;
import java.awt.geom.Arc2D;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Line2D;
import java.awt.geom.Path2D;
import java.awt.geom.Point2D;
import java.util.Calendar;

import javax.imageio.ImageIO;
import javax.swing.JPanel;


public class MyPanel extends JPanel
{

    public MyPanel()
    {
    }

    @Override
    protected void paintComponent(Graphics g)
    {
        int width = getWidth();
        int height = getHeight();
        Graphics2D g2d = (Graphics2D) g;

        // 平滑绘制 ( 反锯齿 )
        g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
        g2d.setPaint(Color.white);
        g2d.fillRect(0, 0, width, height);

        // 创建一个Path
        Path2D outline = new Path2D.Double();
        outline.moveTo(50, 10);  // 起点
        outline.lineTo(150,60);  // 直线连接到下一点
        outline.lineTo(100,120);
        outline.lineTo(40,100);
        outline.lineTo(10,40);
        outline.closePath(); // 收尾闭合

        Color fillColor = Color.GREEN;
        g2d.setPaint(fillColor);
        g2d.draw(outline);

    }


}

圆弧

在这里插入图片描述

package my;

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.LinearGradientPaint;
import java.awt.MultipleGradientPaint.CycleMethod;
import java.awt.Paint;
import java.awt.Rectangle;
import java.awt.RenderingHints;
import java.awt.Shape;
import java.awt.Stroke;
import java.awt.geom.Arc2D;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Line2D;
import java.awt.geom.Path2D;
import java.awt.geom.Point2D;
import java.util.Calendar;

import javax.imageio.ImageIO;
import javax.swing.JPanel;


public class MyPanel extends JPanel
{

    public MyPanel()
    {
    }

    @Override
    protected void paintComponent(Graphics g)
    {
        int width = getWidth();
        int height = getHeight();
        Graphics2D g2d = (Graphics2D) g;

        // 平滑绘制 ( 反锯齿 )
        g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
        g2d.setPaint(Color.white);
        g2d.fillRect(0, 0, width, height);

        // 指定一个外围矩形
        Rectangle rect = new Rectangle(30,30, 100,100);
        g2d.setPaint(Color.LIGHT_GRAY);
        g2d.draw(rect);

        // 创建一个 Arc
        // Arc2D.OPEN(圆弧) , Arc2D.CHORD (弓形 ), Arc2D.PIE (扇形)
        Shape shape = new Arc2D.Double(rect, 0, 90, Arc2D.OPEN);
        g2d.setPaint(Color.BLUE);
        g2d.draw(shape);

    }


}

直线与圆弧拼接

在这里插入图片描述

package my;

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.LinearGradientPaint;
import java.awt.MultipleGradientPaint.CycleMethod;
import java.awt.Paint;
import java.awt.Rectangle;
import java.awt.RenderingHints;
import java.awt.Shape;
import java.awt.Stroke;
import java.awt.geom.Arc2D;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Line2D;
import java.awt.geom.Path2D;
import java.awt.geom.Point2D;
import java.util.Calendar;

import javax.imageio.ImageIO;
import javax.swing.JPanel;


public class MyPanel extends JPanel
{

    public MyPanel()
    {
    }

    @Override
    protected void paintComponent(Graphics g)
    {
        int width = getWidth();
        int height = getHeight();
        Graphics2D g2d = (Graphics2D) g;

        // 平滑绘制 ( 反锯齿 )
        g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
        g2d.setPaint(Color.white);
        g2d.fillRect(0, 0, width, height);

        // 直线与圆弧连接构成不规则形状
        int x= 50, y=50;
        Rectangle r1 = new Rectangle(x,y,100,100);
        Rectangle r2 = new Rectangle(x+50,y,100,100);

        // ar1 : 左侧圆弧               ar2 : 右侧圆弧
        Arc2D arc1 = new Arc2D.Double(r1, 90, 180, Arc2D.OPEN);
        Arc2D arc2 = new Arc2D.Double(r2, 270, 180, Arc2D.OPEN);

        // 构造一条闭合路径
        Path2D outline = new Path2D.Double();
        outline.append(arc1, true);
        outline.append(arc2, true); // true表示自动连接上一条线的终点和下一条线的起点
        outline.closePath(); // 闭合 ( 自动连接最后一个点 和 最开始的点 )

        Color fillColor = Color.GREEN;
        g2d.setPaint(fillColor);
        g2d.fill(outline);

    }


}

标准五角星

在这里插入图片描述

package my;

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.LinearGradientPaint;
import java.awt.MultipleGradientPaint.CycleMethod;
import java.awt.Paint;
import java.awt.Rectangle;
import java.awt.RenderingHints;
import java.awt.Shape;
import java.awt.Stroke;
import java.awt.geom.Arc2D;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Line2D;
import java.awt.geom.Path2D;
import java.awt.geom.Point2D;
import java.util.Calendar;

import javax.imageio.ImageIO;
import javax.swing.JPanel;


public class MyPanel extends JPanel
{

    public MyPanel()
    {
    }

    @Override
    protected void paintComponent(Graphics g)
    {
        int width = getWidth();
        int height = getHeight();
        Graphics2D g2d = (Graphics2D) g;

        // 平滑绘制 ( 反锯齿 )
        g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
        g2d.setPaint(Color.white);
        g2d.fillRect(0, 0, width, height);

        // 10个顶点的坐标
        // 注意:这里是以中心为原点、x轴向右、y轴向上的坐标系,标准圆半径为1
        Point2D.Double pA = new Point2D.Double(0, 1);
        Point2D.Double pB = new Point2D.Double(-0.95106,0.30902);
        Point2D.Double pC = new Point2D.Double(-0.58779,-0.80902);
        Point2D.Double pD = new Point2D.Double(0.58779,-0.80902);
        Point2D.Double pE = new Point2D.Double(0.95106,0.30902);
        Point2D.Double pF = new Point2D.Double(0,-0.38197);
        Point2D.Double pG = new Point2D.Double(0.36328,-0.11804);
        Point2D.Double pH = new Point2D.Double(0.22452,0.30902);
        Point2D.Double pI = new Point2D.Double(-0.22452,0.30902);
        Point2D.Double pJ = new Point2D.Double(-0.36328,-0.11804);
        Point2D.Double[] points = { pA, pI, pB, pJ, pC, pF, pD, pG, pE, pH };

        // 坐标转换 ( 指定目标正方形,在里面画一个五角星 )
        Rectangle rect = new Rectangle(30, 30, 200,200);
        int radius_x = rect.width / 2;
        int radius_y = rect.width / 2;
        for(Point2D.Double point : points)
        {
            point.x = rect.getCenterX() + radius_x * point.x ;
            point.y = rect.getCenterY() - radius_y * point.y ; // 坐标反转
        }

        // 画五角星
        Path2D outline = new Path2D.Double();
        outline.moveTo(points[0].x, points[0].y);
        for(int i=1; i<points.length; i++)
        {
            outline.lineTo(points[i].x, points[i].y);
        }
        outline.closePath();

        Color fillColor = Color.YELLOW;
        g2d.setPaint(fillColor);
        g2d.fill(outline);

        // 画圆
        Shape circle = new Ellipse2D.Double(rect.x, rect.y, rect.width, rect.height);
        g2d.draw(circle);


    }


}

透明背景

在这里插入图片描述

package my;

import java.awt.BasicStroke;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.LinearGradientPaint;
import java.awt.Paint;
import java.awt.RenderingHints;
import java.awt.Stroke;
import java.awt.geom.Point2D;
import java.util.Vector;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingConstants;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableColumn;

public class MyFrame extends JFrame
{

    public MyFrame(String title)
    {
        super(title);

        // Content Pane
        JPanel root = new JPanel();
        this.setContentPane(root);
        root.setLayout(new FlowLayout());

        // 根容器设置为红色
        root.setOpaque(true);
        root.setBackground(new Color(0xEE4000));

        // 创建五角星控件
        Star star = new Star();
        star.setPreferredSize(new Dimension(150,150));
        root.add(star);

    }


}

package my;

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.LinearGradientPaint;
import java.awt.MultipleGradientPaint.CycleMethod;
import java.awt.Paint;
import java.awt.Rectangle;
import java.awt.RenderingHints;
import java.awt.Shape;
import java.awt.Stroke;
import java.awt.geom.Arc2D;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Line2D;
import java.awt.geom.Path2D;
import java.awt.geom.Point2D;
import java.util.Calendar;

import javax.imageio.ImageIO;
import javax.swing.JPanel;


public class Star extends JPanel
{

	public Star()
	{
		// true, 背景不透明 ; false, 背景透明
		this.setOpaque( false );
	}
	
	@Override
	protected void paintComponent(Graphics g)
	{
		super.paintComponent(g);
		
		int width = getWidth();
		int height = getHeight();
		Graphics2D g2d = (Graphics2D) g;

		// 整个控件的背景填充为白色
//		g2d.setPaint(Color.white);
//		g2d.fillRect(0, 0, width, height);
		
		// 平滑绘制 ( 反锯齿 )
		g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
				
		// 10个顶点的坐标
		// 注意:这里是以中心为原点、x轴向右、y轴向上的坐标系,标准圆半径为1
		Point2D.Double pA = new Point2D.Double(0, 1);
		Point2D.Double pB = new Point2D.Double(-0.95106,0.30902);
		Point2D.Double pC = new Point2D.Double(-0.58779,-0.80902);
		Point2D.Double pD = new Point2D.Double(0.58779,-0.80902);
		Point2D.Double pE = new Point2D.Double(0.95106,0.30902);
		Point2D.Double pF = new Point2D.Double(0,-0.38197);
		Point2D.Double pG = new Point2D.Double(0.36328,-0.11804);
		Point2D.Double pH = new Point2D.Double(0.22452,0.30902);
		Point2D.Double pI = new Point2D.Double(-0.22452,0.30902);
		Point2D.Double pJ = new Point2D.Double(-0.36328,-0.11804);
		Point2D.Double[] points = { pA, pI, pB, pJ, pC, pF, pD, pG, pE, pH };
		
		// 坐标转换 ( 指定目标正方形,在里面画一个五角星 )
		// Rectangle rect = new Rectangle(30, 30, 200,200);
		int size = width;
		if(size > height) size = height;
		size -= 2; // 往里缩一点
		Rectangle rect = new Rectangle( (width-size)/2, (height-size)/2, size,size);
		
		int radius_x = rect.width / 2;
		int radius_y = rect.width / 2;
		for(Point2D.Double point : points)
		{
			point.x = rect.getCenterX() + radius_x * point.x ;
			point.y = rect.getCenterY() - radius_y * point.y ; // 坐标反转
		}		
		
		// 画五角星
		Path2D outline = new Path2D.Double();
		outline.moveTo(points[0].x, points[0].y);
		for(int i=1; i<points.length; i++)
		{
			outline.lineTo(points[i].x, points[i].y);
		}
		outline.closePath();
		
		Color fillColor = Color.YELLOW;
		g2d.setPaint(fillColor);
		g2d.fill(outline);
		
		// 画圆
		Shape circle = new Ellipse2D.Double(rect.x, rect.y, rect.width, rect.height);
		g2d.draw(circle);


	}

	
}

Java绘制不规则几何图形.rar Java绘制不规则几何图形,比如划曲线,写字,线条随意画,如截图所示,甚至可以写出文字:   不规则图形的绘制代码:   public class IrregularShapeDemo extends JFrame {    GeneralPath gPath= new GeneralPath(); //GeneralPath对象实例   //构造函数   public IrregularShapeDemo() {    super("不规则图形的绘制"); //调用父类构造函数    enableEvents(AWTEvent.MOUSE_EVENT_MASK|AWTEvent.MOUSE_MOTION_EVENT_MASK); //允许事件    setSize(300, 200); //设置窗口尺寸    setVisible(true); //设置窗口可视    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序    }    public void paint(Graphics g) { //重载窗口组件的paint()方法    Graphics2D g2D = (Graphics2D)g; //获取图形环境    g2D.draw(gPath); //绘制路径    }    public static void main(String[] args) {    new IrregularShapeDemo();    }    protected void processMouseEvent(MouseEvent e) { //鼠标事件处理    if(e.getID() == MouseEvent.MOUSE_PRESSED) {    aPoint = e.getPoint(); //得到当前鼠标点    gPath = new GeneralPath(); //重新实例化GeneralPath对象    gPath.moveTo(aPoint.x,aPoint.y); //设置路径点    }    }    protected void processMouseMotionEvent(MouseEvent e) { //鼠标运动事件处理    if(e.getID() == MouseEvent.MOUSE_DRAGGED) {    aPoint = e.getPoint(); //得到当前鼠标点    gPath.lineTo(aPoint.x, aPoint.y); //设置路径    gPath.moveTo(aPoint.x, aPoint.y);    repaint(); //重绘组件    }    }   } 立即下载

相关推荐

Java绘制不规则图形的源代码.rar

Java绘制不规则图形的源代码,类似于一个Java小画板,可以画出一些基于线条的图形,比如曲线,直线,还可用来写字,示例截图如上图所示。以下是相关源代码:   protected void processMouseEvent(MouseEvent e) { //鼠标事件处理    if(e.getID() == MouseEvent.MOUSE_PRESSED) {    aPoint = e.getPoint(); //得到当前鼠标点    gPath = new GeneralPath(); //重新实例化GeneralPath对象    gPath.moveTo(aPoint.x,aPoint.y); //设置路径点    }   }   protected void processMouseMotionEvent(MouseEvent e) { //鼠标运动事件处理    if(e.getID() == MouseEvent.MOUSE_DRAGGED) {    aPoint = e.getPoint(); //得到当前鼠标点    gPath.lineTo(aPoint.x, aPoint.y); //设置路径    gPath.moveTo(aPoint.x, aPoint.y);    repaint(); //重绘组件    }   }

swing重绘按钮为任意形状

swing自带的metalButton是非常丑的,不能满足我们的实际需求,所以需要定制自己喜欢的按钮,比如一个图片按钮等等。如下图所示。 接着说明如何制作。 (1)找一些好看的按钮图片,但是按钮可能在图片内部,所以我们需要用美图秀秀或者PS将按钮抠出来。如下图: (2)将其保存为透明背景就可以了。 (3)然后写一个我的按钮类: import javax.imageio.Ima

博客 2785

Java Swing根据图片创建不规则窗体(二)

NULL 博文链接:https://yshjava.iteye.com/blog/1325330

Swing按钮组件--JButton

窗体组件类结构 JButton按钮构造方法 JButton():创建不带有设置文本或图标的按钮 JButton(Action a):创建一个按钮,其属性从所提供的Action中获取 JButton(Icon icon):创建一个带图标的按钮 JButton(String text):创建一个带文本的按钮 JButton(String text,Icon icon):创建一个带初始文本和图标的按...

LU_Leo的博客 857

产业园区运营负责人如何实现创新资源的系统化配置?.docx

产业园区运营负责人如何实现创新资源的系统化配置?

实战解析:利用Python requests库高效抓取京东商品评论并构建结构化数据集

本文详细介绍了如何利用Python requests库高效抓取京东商品评论并构建结构化数据集。通过分析京东评论接口、处理反爬机制以及数据解析存储,帮助开发者快速获取电商数据,适用于竞品监控、用户画像构建等商业场景。

weixin_42526415的博客 838

Swing 实现简单的自定义不规则按钮组件2

使用之前介绍的方式再次尝试定制一个简单的组件,使用Java2d 中的RadialGradientPaint类,自己实现了一个简单的椭圆形状的自定义按钮,按钮颜色实现放射状渐变的效果。 特点:椭圆形状按钮颜色放射状渐变相关技术:如何自定义简单组件使用Graphics2D的RadialGradientPaint类 运行界面如下:组件代码如下:import

sunsnowad的专栏 3793

3GPP协议解读_NTN系列(一)_38.811_非地面网络(NTN)的背景、应用场景和信道建模

非地面网络覆盖广,对物理攻击和自然灾害有一定的抵抗性。本文根据3GPP协议对NTN网络的背景、应用场景和信道模型进行了整理。

JCMLSY的博客 4929

Swing 实现简单的自定义不规则按钮组件

学习java swing,参考WilliamChen blog中关于Component的介绍,并使用Java2d 中的Paint类,自己实现了一个简单的五角星形状的自定义按钮,颜色实现渐变的效果。特点:五角星形状按钮颜色渐变相关技术:如何自定义简单组件如何使用Graphics2D的Paint类实现颜色渐变效果运行界面如下:组件代码如下:import ja

sunsnowad的专栏 2506

Impala>Impala安装部署

文章目录1.安装前提2.下载安装包、依赖包3.虚拟机新增磁盘(可选)4.配置本地yum源5.安装Impala6.修改Hadoop、Hive配置7.修改impala配置8.启动、关闭impala服务 1.安装前提 集群提前安装好hadoop,hive。 hive安装包scp在所有需要安装impala的节点上,因为impala需要引用hive的依赖包。 hadoop框架需要支持C程序访问接口,查看下...

qq_44509920的博客 838

[kriging](一)网上下载的kriging克里金的C++程序的初步调试

笔者在网上下载了一份克里金的C++程序,水平有限,正在逐步地调试中。 初步 克里金法现在在许多软件都已经有集成了,据笔者所知: arcgis : 看过有的arcgis培训视频里面简略介绍了里面的插值方法,有克里金。 surfer :笔者用过这个,效果很好。 gocad :听说有 landmark &jason :研究生时候用的专业的石油物探软件,里面有克里金法,万恶的开始。 pykrig...

FOREST优快云 5612

java 绘制不规则图形_Java绘制不规则几何图形

Java绘制不规则几何图形,比如划曲线,写字,线条随意画,如截图所示,甚至可以写出文字:不规则图形的绘制代码:public class IrregularShapeDemo extends JFrame {GeneralPath gPath= new GeneralPath(); //GeneralPath对象实例//构造函数public IrregularShapeDemo() {super("...

weixin_39900531的博客 1097

Oracle EBS FA 如何打开关闭的资产会计期间?

用户“运行折旧”,误勾选为“关闭期间”,还有一部分资产还需要操作报废和调整,希望后台打开关闭的资产会计期。

陈显平的专栏-Oracle EBS 1032

java 地理围栏实现_使用Path2D和凸包算法实现地理围栏服务

前言地理围栏(Geo-fencing)是LBS的一种新应用,就是用一个虚拟的栅栏围出一个虚拟地理边界。在物流配送行业应用比较广,划分每个配送网点或者商家配送的范围,提高配送员的配送效率和服务的范围。1.使用Path2D创建一个多边形Path2D类是java.awt.geom包提供的工具包,可表示任意几何路径的简单而灵活的形状。它可以完全表示PathIterator接口可以迭代的任何路径,包括其所...

weixin_31363631的博客 2377

如何在 Mac 上下载安装 Xcode——并为 iOS 开发更新它原文

下载 Xcode安装命令行工具打开新版本删除文件注意,我在下面的步骤中列出了一些终端命令。这些命令可以被输入到你现在的工作目录中。这意味着你不需要导航到任何特定的文件夹。如果你真的想这样做,你可以在输入下面的步骤中的命令之前先输入== cd==。这将使你返回到主文件夹。

专注于AI领域前沿知识,业余爱好开发软件 4670

高创伺服的龙门调试经历2

摘要:本文介绍了高创伺服在龙门控制中的配置方法。首先通过ServoStudio2连接驱动器并命名区分主从轴(MASTER/DIFF),然后设置接口模式、23位编码器参数及极限位置。重点说明龙门模式的三项关键参数设置(gantryfbenmode=1、gantrymode=1/2)和连线状态确认。建议单轴自动整定后调整从轴增益(如0.2),并强调带刹车电机的同步控制要点:刹车线需接同一继电器由主轴控制,避免位置偏差。

wzz418550729的博客 916

java 鼠标 图形_Java:用鼠标画一个不规则图形

慕粉1468936344importjava.awt.BorderLayout;importjava.awt.Graphics;importjava.awt.event.MouseAdapter;importjava.awt.event.MouseEvent;importjava.awt.event.MouseMotionAdapter;importjavax.swing.JFrame...

weixin_39628864的博客 188

【华为OD技术面试手撕真题】25、验证IP地址 | 手撕真题+思路参考+代码解析(C & C++ & Java & Python & JS)

验证IP地址 华为od机试真题,华为OD技术二面,华为od机考,华为od手撕真题,华为od技术二面,华为od机试,华为OD机试的高频手撕代码题,华为od八股文

KJ.JK 4043

Java基础--awt详解以及简单应用

GUI 图形用户界面 CLI 命令行用户接口 Java为GUI提供的对象存在java.Awt和Javax.Swing两个包中. Java当中如何完成图形化界面的制作呢? AWT:abstract Window ToolKit.需要调用本地系统实现功能.属于重量级控件.依赖于平台.跨平台性不是特别好. Javax.Swing:在AWT基础上.建立一套图形化系统,提供更多组件,完全由java实现,增强了可移植性,属于轻量级控件.所以以后最好用Swing开发. 还有一个SWT外观包. Lable用来封装文字.C

qq_43842093的博客 6754

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

java绘图技术,演示绘制不同的图形

java绘图技术,演示绘制不同的图形。

weixin_41804506的博客 490

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Swing-不规则形状绘制(举例)

不规则形状的绘制主要运用Paint2D类: moveTo:绘制起点 lineTo:点之间连线 注意g2d.draw(outline)与g2d.fill(outline);的区别 g2d.draw(outline):边框 g2d.fill(outline):填充 package swing0401; import java.awt.Color; import java.a...

给你更好的 1233

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Java画不规则,及拖动直线

上一个文章已经讲了画直线,三角形,多边形,椭圆,矩形,还有加了两个带名字的颜色按钮。 那么这一个博客我们主要来看看,如何画不规则的图形以及拖动鼠标画直线,还有当按钮上没有名字了,我们该怎么去处理,另外还介绍如何做橡皮擦; 1.不规则的图形 之前我们做的都是有关直线的,现在我们想做任意的曲线,这个时候我们需要添加一个鼠标拖动监听器,因为可以继承多个接口,所以直接在一个类里继承。 同理,接口类的全部方...

chan_fan的博客 2042

java 根据点画不规则封闭图形

public void sketch(List<Point> pointList) throws FileNotFoundException , IOException{ BufferedImage bi = new BufferedImage //得到图片缓冲区 (512,512,BufferedImage.T...

大大头 1034
上一篇: swing202文本绘制
下一篇: swing204自定义控件
dingpython
博客等级 码龄6年 5粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值