当我调用 fillRoundRect() 时,只有 1 个角被圆化

2024-06-22

当运行此代码时:

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import javax.swing.JButton;
import javax.swing.JLabel;

public class CustomButton extends JButton {

    int width = 100;
    int height = 50;
    int radius = 10;
    JLabel lab;

    @Override
    protected void paintComponent(Graphics g) {
        Graphics2D g2 = (Graphics2D) g;

        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                RenderingHints.VALUE_ANTIALIAS_ON);
        g2.setColor(Color.ORANGE);
        g2.fillRoundRect(0, 0, width, height, radius, radius);
        
        g2.dispose();
        super.paintComponent(g2);
        super.paintComponent(g);

    }

}

还有我的另一堂课:

package custom.frame;

import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class CustomFrame {

    public static void main(String[] args) {
        JFrame f = new JFrame();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setLayout(new FlowLayout());
        f.setSize(500,500);
        f.setLocationRelativeTo(null);
        
        JPanel pane = new JPanel();
        pane.setBounds(0,0,500,500);
        
        CustomButton btn = new CustomButton();
        pane.add(btn);
        f.add(btn);
        f.setVisible(true);
        
    }

}

我得到一个只有 1 个圆边的规则矩形。请看下图。

这是预期的功能吗? 如果没有,我该如何解决这个问题。

Edit

如果我这样做,我可以获得 2 个圆角:g2.fillRoundRect(0, 0, 50, 50, 7, 7);


我真正能想到的唯一一件事是包含矩形的窗口太小并且正在切断其他三个角,但这似乎不太可能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当我调用 fillRoundRect() 时,只有 1 个角被圆化 的相关文章

  • 导入java spring项目后如何构建maven

    你好 我是 java spring 概念的新手 所以我下载了一个示例spring应用程序并将其导入到eclipse中 我已经阅读了spring教程 要么我必须将maven安装到eclipse中才能运行spring项目 所以我已经安装了mav
  • Java Util Logger 写入同步

    通常在应用程序中 以 Web 应用程序为例 我们在启动期间创建一个记录器实例 它甚至可以是一个单例 但这并不重要 重要的是整个应用程序有 1 个实例 我们使用java util logger 现在想象一下 您有来自两个不同用户的两个请求 它
  • 多线程以原子方式对大量值求和

    我正在开发一个应用程序 其中有大量线程 并且必须自动添加 100 个值 我在用AtomicLong效果很好 但仍需要提高性能 有没有比 AtomicLong 提供更好性能的东西 您可以使用长加法器 https docs oracle com
  • Java无法读取字体

    好的 我在使用自定义字体时遇到问题 基本上我得到了从互联网上下载的自定义字体并在我的程序中使用它 当我在 Eclipse 我使用的编辑器 中运行该程序时 一切正常 没有问题 但是 每当我将它从 eclipse 导出到 jar 时 或者尝试从
  • 如何选择主题与队列

    当我们设计应用程序时如何选择Topic Queue类型实现 我知道 a 如果有多个消费者使用该消息 则使用 Topicb 如果只有一个消费者则使用Queue 请提供更多需要考虑的点 比如并发 消息持久化 负载均衡等等 Thanks Rw 如
  • 使用 org.eclipse.xsd 和 Maven2 分析 XML 模式

    我正在尝试实现示例代码本文 http help eclipse org help32 index jsp topic org eclipse xsd doc references articles dwtip1 scpw index htm
  • 在java中将HTML转换为RTF?

    我需要将 HTML 转换为 RTF 我正在使用以下代码 private static String convertToRTF String htmlStr OutputStream os new ByteArrayOutputStream
  • 问题:将大数据传递给第二个 Activity

    我有一个奇怪的问题 我在网上浏览但没有找到答案 我仍然是android编程的初学者 那么让我们开始吧 我想做的就是用一些数据调用第二个活动 它适用于小数据 但如果数据变大 第二个 Activity 将不会显示 第一个 Activity 将完
  • 如何将堆栈跟踪转换为字符串?

    转换结果的最简单方法是什么Throwable getStackTrace 到描述堆栈跟踪的字符串 Use Throwable printStackTrace PrintWriter pw https docs oracle com java
  • Apache HttpClient 4.x 在上传较大文件时表现奇怪?

    我正在使用 java 和 scala 开发和测试一个简单的客户端 服务器应用程序 The server是基于com sun net httpserver HttpServer并允许使用 POST 和 PUT 操作通过基本的 RESTful
  • 自动装箱是否调用 valueOf()?

    我试图确定以下陈述是否保证为真 Boolean true Boolean TRUE Boolean true Boolean valueOf true Integer 1 Integer valueOf 1 我一直认为自动装箱相当于调用va
  • java应用程序,线程在终止MySQL连接后挂起

    我有一些工作线程正在运行 其中包括 MySQL 和 mysql connector java 5 1 20 当我杀死一些 SQL 语句 使用 mysql 客户端的kill 连接id 时 java线程挂起 这应该抛出一些异常 jstack 打
  • Java SFTP使用JSch上传,但如何覆盖当前文件?

    我正在尝试使用 JSch 通过 SFTP 将两个文件上传到服务器 如果目录为空 则上传文件效果很好 但我想一遍又一遍地上传相同的文件 只需更改内部的 id 但我不知道如何执行此操作 JSch 中有一些名为 OVERWRITE 的静态参数 但
  • 将 Tango 3D 点投影到屏幕 Google Project Tango

    Project Tango 提供了点云 如何获取点云中 3D 点的像素位置 以米为单位 我尝试使用投影矩阵 但得到的值非常小 0 5 1 3 等 而不是 1234 324 以像素为单位 我包含我尝试过的代码 Get the current
  • 在 libgdx 中截取屏幕截图

    我有一个应用程序 我想在其中截取游戏屏幕的屏幕截图并将其保存为图像并上传到 Facebook 我正在使用 Libgdx 我的重点是 android 谁能帮助我如何以编程方式截取游戏屏幕并将其另存为图像 现在相当容易 Libgdx提供了一个例
  • 在java中访问dll方法

    我正在尝试访问java中用c 编写的dll方法 从下面的代码我试图构建已成功生成的 dll using System using Microsoft Win32 namespace CyberoamWinHelper public clas
  • JPA2+Hibernate 3.6.0 中的 JTA 还是 LOCAL 事务?

    我们正在重新思考我们的技术堆栈 以下是我们的选择 由于应用程序的复杂性等 我们不能没有 Spring 和 Hibernate 我们还从 J2EE 1 4 迁移到 Java EE 5 技术栈 Java EE 5 JPA 2 0 我知道Java
  • Java:当计时器处于活动状态时,JSplitPane 将顶部面板的内容复制到底部面板

    所以我有一个 JSplitPane 和两个 JPanel 一个在顶部 一个在底部 在这两个面板中 我重写了paintComponent方法并添加了我自己的图形 在底部面板中 我想添加动画 当面板不重新绘制时 这很好 但是一旦计时器 java
  • 从 Java 程序中获取局部变量的名称和类型

    这是我正在尝试的代码 JavaCompiler compilerA ToolProvider getSystemJavaCompiler int resultA compilerA run null null null Users a Do
  • 从 google play 中提取统计信息

    我正在建立一些统计数据 并希望获得来自 google play 应用程序商店 的统计数据 最受欢迎 下载量 价格等信息 有谁知道是否有这个 API 或者我必须自己抓取它 有一个名为 android market api 的项目http co

随机推荐

  • 我可以编写没有标头(重复函数声明)的 C++ 代码吗?

    在使用 C 编程时 有没有什么方法可以不必编写两次函数声明 头文件 并且仍然保留相同的编译可扩展性 调试清晰度和设计灵活性 Use Lzz http www lazycplusplus com 它需要一个文件并自动为您创建 h 和 cpp
  • AngularJS 复制到剪贴板

    有没有办法制作一个具有复制功能的复制按钮 该按钮将复制模态的所有内容 然后您可以将其粘贴到记事本中 我需要这个功能Controller 由于要复制的文本是动态的 这是我基于中的代码的简单函数剪贴板 https github com nico
  • a^2 和 a^2L 有区别吗?

    之间有区别吗a 2 and a 2L in R 速度差异 精确 到目前为止我还没有看到 只是想知道 2 是否被实现为 log exp 对 但 2L 被实现为乘法 如果a不只是一个向量吗 UPDATE 不 它不是重复的 我知道两者之间的区别2
  • 通过上下文操作栏获取 WebView 中选定的文本

    据了解 这是难的 https stackoverflow com questions 4892111 android webview javascript getselection获取 WebView 中选定的文本 因为 WebView 文
  • 如何使CMake将导入目标的库路径嵌入到可执行文件中

    我的 C 可执行文件依赖于我已显式导入的 boost 正则表达式 但是 在链接阶段 CMake 不使用 Wl rpath path to my boost lib将 rpath 嵌入到我的项目可执行文件中 我怎样才能做到这一点 它确实将 r
  • Maven - 如何验证声明的存储库中可用的依赖项?

    我刚刚编辑了
  • 启动 OSX 时未使用 teamcity 代理运行 bash

    我有一个 shell 脚本startup sh执行以下操作 创建 RAM 磁盘并启动 teamcity 代理 bin bash DISK usr bin hdiutil attach nobrowse nomount ram 1677721
  • 何时使用 FOUNDATION_EXPORT?

    我有点困惑 我们什么时候应该在 Objective C 中使用 FOUNDATION EXPORT 其目的是什么 谁能用通俗的语言解释一下 谢谢 我们什么时候应该使用FOUNDATION EXPORT在 Objective c 中 每当您在
  • 鼠标位置到等距图块(包括高度)

    努力将鼠标的位置转换为网格中图块的位置 当一切平坦时 数学看起来像这样 this position x Math floor pos y 240 24 pos x 320 48 this position y Math floor pos
  • iPhone以编程方式裁剪方形图像以显示为圆形

    我正在尝试使用 iPhone 上相机胶卷中的图像为自定义样式 UIButton 创建图像 该按钮具有圆形背景 并且实际上显示为圆形 现在我需要将图像放在也显示为圆形的按钮中间 如何将方形 UIImage 剪切为圆形并在圆形区域之外具有透明度
  • iPad 方向检查 UIView 类?

    我有一个UIView我添加到我的主类中的类UIViewController我需要在应用程序启动时检查设备 iPad 的方向 在viewDidLoad方法 然而 由于该类是一个UIView not UIViewController 我不能使用
  • 使用 multers3 node.js 将图像上传到 DigitalOcean Spaces 时出现 SignatureDoesNotMatch:null 错误

    Error code SignatureDoesNotMatch extendedRequestId undefined message null name SignatureDoesNotMatch region null Load de
  • NUnit辅助线程异常

    我正在测试启动辅助线程的代码 并且这个线程有时会抛出异常 我想编写一个测试 如果没有正确处理该异常 该测试就会失败 我已经准备好了该测试 我在 NUnit 中看到的是 LegacyImportWrapperTests Import Exce
  • React 漂亮的 DnD- 嵌套列表,但无需在父列表之间拖动

    我目前正在尝试使用 React Beautiful DnD 创建一个可拖动的容器对象列表 在这些对象中 我还构建了可拖动元素的子列表 我知道该库在技术上不支持嵌套列表 但我已经看到了许多解决方法 并且我相信我的用例比大多数用例更简单 因为我
  • 清除 PHP CLI 输出

    我正在尝试在我的 php CLI 应用程序上使用 实时 进度指示器 而不是输出为 1Done 2Done 3Done 我宁愿它清除并只显示最新结果 系统 命令 C CLS 不起作用 ob flush flush 或我发现的其他任何东西也没有
  • MFC - 显示对话框后立即执行代码(.NET 相当于 Form.Shown)

    我正在对 C MFC 项目进行一些小的更改 我是 NET 开发人员 因此 Windows 编程对我来说是新的 我需要在 CDialog 第一次完全显示 绘制 后立即启动一些方法 但仅一次 我怎样才能做到这一点 在 NET中我会处理表格所示
  • Golang 有 libfaketime 替代品吗?

    我想自动化一些测试 我必须操纵系统时间来检查用 golang 编写的程序的身份验证行为 根据这个帖子 https stackoverflow com questions 36024872 libfaketime doesnt work wi
  • 如何生成0到1之间的随机数?

    我想生成 0 1 之间的随机数 我正在尝试以下操作 double r2 return rand 10000 10000 0 int SA double u u r2 但它不会产生预期的结果 我该如何修复它 在你的版本中rand 10000将
  • Json 数组的 Avro 架构

    假设我有以下 json id 1 text some text user id 1 id 1 text some text user id 2 对于这个对象数组来说 合适的 avro 模式是什么 简短回答 该对象数组的适当 avro 架构如
  • 当我调用 fillRoundRect() 时,只有 1 个角被圆化

    当运行此代码时 import java awt Color import java awt Graphics import java awt Graphics2D import java awt RenderingHints import