java - 如何在java编码中添加另一个圈

标签 java swing coding-style awt paint

所以今天我正在制作一个程序,因为我仍然是初学者,所以我还在学习,但我想知道如何添加另一个圆圈,例如我有两个单元,红色和蓝色,我添加了随机选择 x 和 y 位置的随机化,但是当我单击开始时它只显示一个红色圆圈,蓝色圆圈甚至不存在,我知道我没有做一些编码,但这是我的程序,拜托帮助谢谢:)

所以你 :) 在此先感谢。

最佳答案

这里有几点需要改变:

  • 删除所有 AWT 组件(Canvas、Panel 等...)并将它们替换为等效的 Swing 组件(JPanelJTextField...)。这将避免呈现问题并带来双缓冲(无需执行任何代码)。
  • 永远不要使用 c.getGraphics()
  • 重写 paintComponent(Graphics g) 并使用那里提供的 Graphics g 参数(另请参见 link for some example)
  • 要执行“动画”,请使用 javax.swing.Timer。所有对 UI 的更新都必须在 EDT(事件调度线程)上完成。另请阅读 concurrency in Swing
  • 使用 JOptionPane.showMessageDialog(或任何其他对话框)时,提供有效的 parent 组件而不是 null。这将允许适当的窗口父子关系(避免对话框被其他框架隐藏)。

关于java - 如何在java编码中添加另一个圈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17185462/

相关文章:

javascript - 如何 out.println Apache JKEnvVar SSL_CLIENT_DN 从 mod_ssl 到 java、javascript 或 html?

java - JTextField 未出现在网格布局中

python - Haskell 中没有模式匹配的错误处理

c - 为什么程序员经常使用像 '40+1' 这样的成语而不是实际的数字?

java - Spring 什么时候使用服务或组件?

java - 我的远程服务器 (Amazon EC2) 是否需要运行 2 个不同的服务器才能运行 EmberJS 和 Spring Boot?

Java Time - 在终端中输入并查看是否在范围内

java - 文本区域不显示

java - 使用 KeyListener 更改颜色

perl - 在Perl中是否有适用于编码标准的良好自动化框架?