gpt4 book ai didi

java - JPanel 不调用 java 中的paintComponent

转载 作者:行者123 更新时间:2023-11-30 05:27:49 24 4
gpt4 key购买 nike

我已经为此工作了几个小时,但没有成功。我想让屏幕上出现一个像素,但绘画组件不起作用我不明白为什么。setupFrame 方法是从 main 方法中调用的。

public static void setupFrame()
{
JFrame frame = new JFrame("graphicsTest");
JPanel panel = new JPanel();
panel.setBounds(0, 0, 1080, 1080/2);
frame.add(panel);
frame.pack();
frame.setSize(1080, 1080/2);
frame.setVisible(true);
frame.setResizable(false);
frame.repaint();
}

@Override
public void paintComponent(Graphics g) {
g.fillRect(0, 0, 50, 50);
}

最佳答案

您正在重载您创建的类(我们称之为MyPanel)中的paintComponent(),但您正在创建另一个类的实例:

JPanel panel = new JPanel();

所以这里没有 MyPanel 的实例,并且没有调用该方法。您需要使用重载了paintComponent方法的类:

MyPanel panel = new MyPanel();

或者(这应该是等效的):

JPanel panel = new MyPanel();

关于java - JPanel 不调用 java 中的paintComponent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58198196/

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