我的自定义按钮代码是:

public class GreyButton extends JLabel {

private int ButtonWidth,

ButtonHeight;

String ButtonText;

public GreyButton(String BText, int BWidth, int BHeight) {

super(BText);

this.ButtonHeight = BHeight;

this.ButtonWidth = BWidth;

this.ButtonText = BText;

setGreyButton();

}

private void setGreyButton() {

this.setPreferredSize(new Dimension(this.ButtonWidth, this.ButtonHeight));

this.setBackground(Color.LIGHT_GRAY);

this.setOpaque(false);

this.setBorder(BorderFactory.createLineBorder(Color.BLACK, 2));

this.setForeground(Color.WHITE);

this.setHorizontalAlignment(SwingConstants.CENTER); //This line

}

@Override

public void paint(Graphics g) {

paintComponent(g);

}

@Override

public void paintComponent(Graphics g) {

Graphics2D Shape = (Graphics2D) g;

AlphaComposite newComposite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1.0f);

Shape.setComposite(newComposite);

Color[] FillArray = {Color.WHITE, Color.GRAY};

float[] Distribution = {0.85f, 1.0f};

GradientPaint Fill = new GradientPaint(10, 8, Color.BLACK, 10, 72, Color.WHITE);

Paint OldPaint = Shape.getPaint();

Shape.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

Shape.setPaint(Fill);

Shape.fillRect(0, 0, ButtonWidth, ButtonHeight);

Shape.setPaint(OldPaint);

Shape.setFont(new Font("Monospace", Font.BOLD, 14));

Shape.drawString(ButtonText, 0, 0); //This line

}

}

这是使用自定义2D图形创建JLabel.问题是我试图将文本居中在JLabel中,这应该对构造函数中使用的任何大小都有效.

目前,我需要计算值并相应地设置drawString的第二个和第三个参数.

问题:是否有一种将文本集中在JLabel上的一般方法,其大小可能因每个实例而异?

java drawstring字体大小_java – 不同大小的JLabel中心drawString()文本相关推荐

  1. java label设置字体颜色_Java中怎么设置JLabel的字体样式,大小,颜色

    展开全部 答 : 最常32313133353236313431303231363533e4b893e5b19e31333363386166见的解决方案有两种. 第一种: 原生的java写法. 核心代码 ...

  2. java生成图片大小_Java 对图片进行大小转换

    1.实际项目中要将"图片档案"生成缩略图(将图片大小变成 160*160),参考网上代码写了Demo. 2.工具类. /* * @(#) ImageResizer.java 1.0 ...

  3. java日期比较大小_java日期大小比较

    //直接用Date自带方法before()和after()比较 public static void main(String[] args) throws ParseException { Strin ...

  4. java渐变色字体生成器_java阴影文字效果怎么做?渐变的怎么做?

    随着时代的不断发展,新兴技术的使用也促使人们不断地在学习进步.今天主要为大家介绍一下,java的阴影和渐变的文字效果怎么做. 首先为大家介绍的是阴影效果文字的做法.第一步:使用Graphics类的se ...

  5. java swing 字体设置_java如何改变Swing应用程序的默认字体/字号

    java如何改变Swing应用程序的默认字体/字号?常用Swing作为程序UI的人可能会注意到,Swing组件默认显示文字的字号为11.这对于英文显示毫无问题,但是如果用这个字号显示中文的话,这么小的 ...

  6. java标签组件命名_Java——标签组件:JLabel

    使用一个标签 import java.awt.Color; import java.awt.Dimension; import java.awt.Point; import javax.swing.J ...

  7. java 字体宽度_Java字体大小从宽度

    我正在寻找一种从宽度推断Java AWT字体大小的方法.例如,我知道我想在100像素内写'hello world'.我知道我在Font.PLAIN风格中使用字体"Times",我希 ...

  8. java drawstring字体大小,JAVA中,drawstring 方法的用法,格式是什么啊

    啦啦啦额68的回答 Java中Graphics类的drawString()方法: i)drawString(String str,int x,int y): String str是可以在屏幕上显示的字 ...

  9. java组件自适应窗口大小_java swing 窗口和控件自适应大小

    本文记录java开发CS结构时怎么自适应屏幕大小以及控件跟随frame大小变化大小.位置和字体大小 需要注意: 1.代码必须放置在其构造方法中.如:我的frame1是我frame.java的名,则代码 ...

最新文章

  1. 全球及中国第三方供应链管理行业发展状况与规模前景分析报告2022-2027年
  2. 动窗口的制作暨CSizingControlBar类的使用说明
  3. 中怎么撤回消息_微信消息撤回也能看到,这个开源神器牛x!语音、图片、文字都支持!...
  4. 3 FI配置-企业结构-分配-给公司分配公司代码
  5. 软件工程师的衰落与程序技术员的兴起
  6. 如何让测试RFC2544更便捷——RFC2544测试实操
  7. 在Markdown中绘制思维导图
  8. python拟合线性函数_Python线性拟合实现函数与用法示例
  9. 计算机知识怎么记忆,计算器记忆加怎么用
  10. 钉钉打卡显示服务器忙,钉钉系统繁忙请稍后再试
  11. pscp实现windows和linux之间互传文件
  12. java 写字板源代码_基于JAVA的模拟写字板的设计与实现(含录像)
  13. 解决win10资源管理器突然占用cpu过高问题
  14. 看图说话之网络2008
  15. 现代信息技术的特点和趋势
  16. 恢复系统设置或计算机点击没反应,win7自带还原里quot;恢复系统设置或计算机quot;点击没反应...
  17. Macbook m1安装java与IntelliJ
  18. 什么是系统平均负载(Load average)
  19. 我为什么要写博客,写博客的意义是什么
  20. 免费是移动互联网的第一思维

热门文章

  1. shared_ptr使用场景、陷阱、性能分析,使用建议
  2. oracle怎么不让别的电脑连接,[转载]修改计算机名字导致oracle连接不上的解决方案...
  3. python用来自动修改pdf_python实现从pdf文件中提取文本,并自动翻译的方法
  4. java即时聊天系统毕业_我见过的最牛逼java即时聊天毕业设计项目源码
  5. 1971旗舰cpu intel_Intel 酷睿i7 9700F搭配影驰GeForce RTX 2060大将
  6. VC++使用ADO开发ACCESS数据库
  7. mysql sum带条件_mysql – SUM()基于SELECT的不同条件
  8. linux下安装apache + subversionSVN_Subversion
  9. atcoder 2017Code festival C ——D题 Yet Another Palindrome Partitioning(思维+dp)
  10. NSCharacterSet 简单用法