gpt4 book ai didi

java - 如何在扩展 JPanel 的类中绘制带有文本的圆角矩形

转载 作者:行者123 更新时间:2023-11-30 08:47:03 26 4
gpt4 key购买 nike

我是 Java 的新手,我正在尝试一个扩展 JPanel 的类。我有一个 updateView() 方法,它假设在 JPanel 的中间绘制带有文本的圆角矩形。另外,我需要在 LinkedHashMap 中存储文本字段和圆角矩形。我已经为此获得了一个 var,我只是不知道我需要使用的 var 类型。

我已经搜索了一段时间的解决方案,但我找到的所有答案要么对我来说太复杂,要么就是不适用于我的情况。

我知道这几乎什么都没有,但这是我到目前为止所得到的......

package game;

import javax.swing.JPanel;

public class GameNumView extends JPanel
{

private Map<Integer,Integer> backgroundText = new LinkedHashMap<"My rounded rectangle","My textfield">();

public GameNumView()
{

}

public void UpdateView(String[] pNumbers)
{
//Create the background

//Create the text

}
}

最佳答案

我会给你正确的道路。您可以根据现有代码对其进行调整。

想法是将 Graphics 对象与 JPanel 的扩展类的 paintComponent 方法一起使用。

这是代码,我认为它已经足够清楚了,但如果您有任何问题,请不要犹豫。

MyFrame 类:

public class MyFrame extends JFrame {
public MyFrame(){
this.setTitle("Hello");
this.setSize(200, 200);
this.setLocationRelativeTo(null);

MyPanel pan = new MyPanel();
pan.setBackground(Color.ORANGE);
this.setContentPane(pan);
this.setVisible(true);
}

public static void main(String[] args) {
MyFrame f = new MyFrame();
}
}

这是 MyPanel 类:

public class MyPanel extends JPanel{

@Override
public void paintComponent(Graphics g) {
g.setColor(Color.black);
g.drawRoundRect(10, 10, this.getWidth()-20, this.getHeight()-20, 15, 15);
g.setColor(Color.black);
g.drawString("Hello", 75, 75);
}

}

这是一张你应该拥有的照片:

My Fake Button !

关于java - 如何在扩展 JPanel 的类中绘制带有文本的圆角矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32660407/

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