gpt4 book ai didi

java - Swing ComponentListener.componentShown 未触发

转载 作者:太空宇宙 更新时间:2023-11-04 08:40:16 25 4
gpt4 key购买 nike

我想在显示 WorldPanel 时获取 (Graphics g)。感谢 stackoverflow,我看到了应该在哪里使用 getGraphics 方法 (ComponentListener.componentShown) 的答案,但不知何故,我的监听器无法捕获 componentShown。

我做错了什么?代码片段底部不能不显示“hello”。

public class MainPanel extends javax.swing.JPanel implements ComponentListener {
private CWorldPanel WorldPanel; // extends JPanel

private void initGUI() {
try {
...
this.setLayout(thisLayout);
{
WorldPanel = new CWorldPanel();
WorldPanel.addComponentListener(this);
...
@Override
public void componentShown(ComponentEvent e) {
System.out.println("hello");

}

请参阅页面底部的我的解释和感谢(cscsaba)

最佳答案

如果您想获取 Graphics 对象以便在组件可见时立即在其上进行绘制,请不要这样做。只需重写要显示的对象的 paintComponent 方法,然后在其中进行绘制即可。

(我不知道为什么你的 ComponentListener 不起作用,并且无法尝试,因为你的示例不完整。)

关于java - Swing ComponentListener.componentShown 未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5484455/

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