gpt4 book ai didi

java - PaintComponent 与之前的方法交错

转载 作者:行者123 更新时间:2023-12-02 05:05:19 26 4
gpt4 key购买 nike

我有以下结构:

method1
method2
...
methodn

methodX

方法x包含:

JFrame frame = new JFrame("Sample");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new CanvasBoard(tree));

frame.setSize(1200, 600);
frame.setVisible(true);

我在 method1...methodnpublic void PaintComponent(Graphics g) 中有几个 System.out.println CanvasBoard

我的消息交错,我该如何解决这个问题?

最佳答案

Swing 在它自己的线程中运行,该线程与启动程序的线程不同。

这意味着该组件是在不同的线程中绘制的,然后您的代码可能会运行。

即使您的所有代码都在事件调度线程的上下文中运行,也可以随时调用 paintComponent,这意味着每次运行时的消息传递都会不同。

参见Concurrency in SwingInitial Threads了解更多详情。

确保从事件调度线程的上下文中启动并运行 UI 代码...

关于java - PaintComponent 与之前的方法交错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27858214/

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