java圆角矩形_如何在java中绘制自定义圆角矩形?
可能有几种方法可以实现这一点,但我能想到的最简单的方法是,正如安德鲁已经暗示的那样,将是定义自己的形状
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.geom.Path2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
public class SimpleShape {
public static void main(String[] args) {
new SimpleShape();
}
public SimpleShape() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
ex.printStackTrace();
}
JFrame frame = new JFrame("Testing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new TestPane());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
public class TestPane extends JPanel {
private RightEnd rightEnd;
public TestPane() {
rightEnd = new RightEnd(100, 100, 40);
}
@Override
public Dimension getPreferredSize() {
return new Dimension(100, 100);
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
int x = (getWidth() - 100) / 2;
int y = (getHeight()- 100) / 2;
Graphics2D g2d = (Graphics2D) g.create();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.translate(x, y);
g2d.fill(rightEnd);
g2d.dispose();
}
}
public class RightEnd extends Path2D.Float {
public RightEnd(float width, float height, float radius) {
moveTo(0, 0);
lineTo(width - radius, 0);
curveTo(width, 0, width, 0, width, radius);
lineTo(width, height - radius);
curveTo(width, height, width, height, width - radius, height);
lineTo(0, height);
closePath();
}
}
}
java圆角矩形_如何在java中绘制自定义圆角矩形?相关推荐
- opencv rect画旋转矩形_在opencv c中绘制旋转的矩形
既然你想要一个填充的矩形,你应该使用fillConvexPoly: // Include center point of your rectangle, size of your rectangle ...
- hive 元数据 自定义_如何在Hive中创建自定义函数UDF及如何直接通过Impala的同步元数据重用UDF的jar文件-阿里云开发者社区...
如何在Hive中创建自定义函数UDF及使用 如何在Impala中使用Hive的自定义函数 UDF函数开发 使用Intellij工具开发Hive的UDF函数,进行编译: 1.使用Intellij工具通过 ...
- xmind可以画流程图吗_如何在XMind 中绘制流程图?
XMind 是专业强大的思维导图软件,由于其结构没有任何限制,很多朋友特别喜欢用它来绘制流程图.那么,就出现这样一个问题,如何在 XMind 中绘制流程图?下面就和小编一起来看看吧! 如何在 XMin ...
- java 正则表达式 开头_如何在Java中修复表达式的非法开头
java 正则表达式 开头 您是否遇到过这个令人难以置信的错误,想知道如何解决它? 让我们仔细阅读一下,研究如何解决表达式Java非法开头错误. 这是一个动态错误,这意味着编译器会发现某些不符合Jav ...
- java soap 头_如何在Java中添加Soap标头
我有一个来自oracle的NO.net Web服务,要访问,我需要添加soap标头.如何在Java中添加soap标头? Authenticator.setDefault(new ProxyAuthen ...
- java实现递归算法_如何在Java中实现二进制搜索算法而无需递归
java实现递归算法 by javinpaul 由javinpaul 流行的二进制搜索算法的迭代实现,用于在排序数组中查找元素. (An Iterative implementation of the ...
- java jcombobox长度_如何在JToolBar中设定JComboBox的大小?
如何在JToolBar中设定JComboBox的大小? 我设计了一个JToolBar,并且在上边添加了一个JComboBox,可是我发现这个JComboBox长度无法控制,它将JToolBar上剩余空 ...
- java 全局数组_如何在Java中声明全局数组?
我有一个程序在Java中乘以两个矩阵.我在全局错误声明中发现了一些错误. 这里是我的代码如何在Java中声明全局数组? import java.util.Scanner; /**WAP in Java ...
- java插入图片_如何在java窗体程序中添加图片
打开eclipse,创建一个java工程项目,创建完后在src下新建一个类Window,由于要插入图片,所以还在工程目录下创建一个文件夹imgs,里面放了一张60*60的图片,创建后的工程目录和图片, ...
- java安卓计时器_如何在android中设置计时器
通过java.util.Timer和java.util.TimerTask使用计时器的标准Java方法在Android中运行良好,但是你应该知道这个方法创建了一个新线程. 您可以考虑使用非常方便的Ha ...
最新文章
- 教练如何引导学员在线报名
- java 乐观锁 实例_JAVA乐观锁实现-CAS(示例代码)
- 非常全的VS Code快捷键
- php windowcrlf和unix,文件格式unix与dos转换,CRLF与LF的区别查看
- 在线正则表达式可视化工具
- 菲尔·席勒(Phil Schiller)卸任苹果全球营销高级副总裁,升任苹果研究员
- java类库编程_进阶Java编程(5)基础类库
- 【剧透】2017云栖大会•北京峰会——企业云上业务优化专场
- c语言做游戏音效,游戏背后辛苦付出的劳动者—游戏音效师
- Swing Copters摇摇欲坠游戏再次风靡全球,再次虐心,摔手机
- 1007 Maximum Subsequence Sum (25 分) java 题解
- 操作系统接口shell
- 实现NRF52832蓝牙DFU无线升级
- 基于springboot开发的停车场管理系统-计算机毕业设计
- MySQL PHP操作数据库
- 面对股市大跌,接下来这么做就对了
- C++字符输入方式详解
- 用于三维医学图像检测的半监督学习——FocalMix: Semi-Supervised Learning for 3D Medical Image Detection
- WARNING: An illegal reflective access operation has occurred
- EasyUi之Dialog(对话框窗口)
热门文章
- HTTP 返回状态码
- scara机器人dh参数表_scara机器人技术参数
- java语言运行机制
- Maxima绘图基础
- C语言中ret的作用,c-RET抑制剂 | c-RET Inhibitor
- Acquiring a token for Kubernetes dashboard
- ubuntu 16.04 Titanxp 安装cuda10.0 cudnn7.6 环境
- OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading “D:\Anaconda\envs\pytorch-1.4\lib\site-package
- 2019大数据未来七大发展方向
- 系统全面的认识Solr