gpt4 book ai didi

java - Paint 未添加到 JPanel

转载 作者:行者123 更新时间:2023-12-02 06:04:34 25 4
gpt4 key购买 nike

所以我有两个类,一个负责创建 JPanel 并覆盖绘画。另一个包含 main 并使用另一个类。为了方便起见,我删除了图形中不涉及的内容。第一个执行 JPanel 和绘制。第二个是主要的。对于任何糟糕的结构或困惑,我深表歉意,我是相对较新的人,我只是将一些东西扔进去看看什么有效。油漆中的东西只是一个测试,它不是主要目标。

public class PokerTable extends JPanel {

private static final int WIDTH = 800;
private static final int HEIGHT = WIDTH * 3 / 4;
private static final String NAME = "Test";
private JFrame frame = new JFrame(NAME);

public PokerTable() {

//frame.setMinimumSize(new Dimension(WIDTH,HEIGHT));
//frame.setMaximumSize(new Dimension(WIDTH,HEIGHT));
frame.setPreferredSize(new Dimension(WIDTH,HEIGHT));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.pack();
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}

public void paint(Graphics g) {
super.paint(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setBackground(Color.GREEN);
g2d.setColor(Color.RED);
g2d.fillOval(0, 0, 30, 30);
}
}

下一个函数的作用不仅仅是调用 PokerTable,但我忽略了其他部分,因为它们依赖于其他类并且仅打印到控制台。

public class Poker{

public static void main(String[]args) {
System.out.println("hello");
PokerTable pt = new PokerTable();

pt.repaint();

}

并不是说我一定希望它能够工作,我已经将 PokerTable 上的扩展更改为 Canvas 和 JFrame,但没有任何运气。

最佳答案

您没有将面板添加到框架中,请尝试使用:

frame.add(this);

在 PokerTable 构造函数中

关于java - Paint 未添加到 JPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22402628/

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