gpt4 book ai didi

java - 将拉绳中的文本居中

转载 作者:行者123 更新时间:2023-12-01 23:03:12 25 4
gpt4 key购买 nike

用户可以选择“欢迎使用 Java 编程”文本是斜体、粗体还是在面板中居中。这些选项是复选框。我不知道如何做到这一点,以便当用户选择中心时,它将位于中心。

public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.black);
g.drawRoundRect(75,90,324,120,10,10);
g.drawLine(183,90,183,210);
g.setColor(currentC);
g.setFont(new Font(currentFont, intBold + intItalic, 24));
g.drawString("Welcome to Java Programming",30,70);
}

public void itemStateChanged(ItemEvent e) {
if(e.getSource() == checkBoxBold) {
if(e.getStateChange() == ItemEvent.SELECTED)
intBold = Font.BOLD;
if(e.getStateChange() == ItemEvent.DESELECTED)
intBold = Font.PLAIN;
}
if(e.getSource() == checkBoxItalics) {
if(e.getStateChange() == ItemEvent.SELECTED)
intItalic = Font.ITALIC;
if(e.getStateChange() == ItemEvent.DESELECTED)
intItalic = Font.PLAIN;
}
if(e.getSource() == checkBoxCenter) {
if(e.getStateChange() == ItemEvent.SELECTED)
//PROBLEM RIGHT HERE
if(e.getStateChange() == ItemEvent.DESELECTED)

}
if(e.getSource() == radioRed)
currentC = Color.red;
else if(e.getSource() == radioGreen)
currentC = Color.green;
else if(e.getSource() == radioBlue)
currentC = Color.blue;
if(e.getSource() == fontChoice)
currentFont = fontNames[fontChoice.getSelectedIndex()];
repaint();
}

最佳答案

使用FontMetrics:

FontMetrics fm = g.getFontMetrics();

要获取文本的宽度,请使用:

fm.stringWidth(text)

然后输出您的文本

width / 2 - fm.stringWidth(text) / 2

其中宽度是输出区域的宽度。

关于java - 将拉绳中的文本居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23193502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com