java 矩形颜色_如何只填充圆角矩形的颜色并将其保存在Java中的var

我正在研究我的程序的接口,而我最近才能够绘制我想要的。我有一定数量的圆角矩形,每个圆形矩形的中间都有一个数字,但我无法弄清楚如何才能让这些矩形填充某种颜色,然后是边框线。除此之外,我需要在var内部储存每个矩形,以便能够改变矩形的颜色。这是我到目前为止的代码:如何只填充圆角矩形的颜色并将其保存在Java中的var

package game;

import java.awt.Color;

import java.awt.Dimension;

import java.awt.Font;

import java.awt.Graphics;

import java.util.LinkedHashMap;

import java.util.Map;

import javax.swing.JButton;

import javax.swing.JPanel;

public class GameNumView extends JPanel

{

//Nombres affiché

String[] Numbers;

public GameNumView(int pWidth, int pHeight)

{

//Change ajuste la grosseur du panel

this.setPreferredSize(new Dimension(pWidth, pHeight));

//Crée le tableau des strings

Numbers = new String[]{};

}

@Override

public void paintComponent(Graphics g)

{

//Repain avec la super class

super.paintComponent(g);

//Calcule les dimensions qui seront utilisé

int rectSpace = 5;

int rectWidth = getWidth()/Numbers.length-rectSpace*2;

int rectHeight = getHeight()-rectSpace*2;

int arcRect = 15;

int fontSize = 60;

int textX = rectWidth/2 - fontSize/4 - rectSpace;

int textY = rectHeight/2 + fontSize/2 - rectSpace;

//Change al font

g.setFont(new Font("TimesRoman", Font.PLAIN, fontSize));

//Dessine un rounded rectangle avec le nombre pour chaque chiffre du tableau

for(int i =0; i < Numbers.length; i++)

{

g.setColor(Color.red);

g.drawRoundRect(rectSpace + i*(rectWidth + rectSpace*2), rectSpace, rectWidth, rectHeight, arcRect, arcRect);

g.setColor(Color.black);

g.drawString(Numbers[i], rectSpace + textX + i*(rectWidth + rectSpace*2), textY + rectSpace);

}

}

public void setNumbers(String[] pNumbers)

{

//Stock les numbres choisis

Numbers = pNumbers;

}

public void changeColor(Color pColor)

{

//Change the background color

}

}

+0

*“我需要去购买每个矩形和var中的文本能够改变矩形的颜色并读取写在里面的数字。*“ - 为什么这么程序化?一个矩形类也可以做得很好:) –

+0

嗯,我不知道有这样的事情,但是如果我可以使用圆角矩形类来绘制它们并存放圆角矩形,那么你能告诉我怎么做吗? –

+0

我能想到一些简单的,甚至可能是厚脸皮的解决方案。可能不是最好的方式,但我会尽快将它作为答案发布。 - 也许会有帮助。 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值