Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在JFrame中绘制每一帧?_Java_Swing_Jframe - Fatal编程技术网

Java 如何在JFrame中绘制每一帧?

Java 如何在JFrame中绘制每一帧?,java,swing,jframe,Java,Swing,Jframe,我想有一个框架,在其中我有一个while循环,每一个框架,它画的东西不同。它正在工作,但如何使用右上角的X按钮停止它 主要内容: import java.awt.*; 公共班机{ 公共静态void main(字符串[]args){ invokeLater(新的Runnable(){ @凌驾 公开募捐{ 大型机框架=新的大型机(); frame.draw(); } }); } } 大型机: import javax.swing.*; 导入java.awt.*; 公共类大型机扩展JFrame{ 私

我想有一个框架,在其中我有一个while循环,每一个框架,它画的东西不同。它正在工作,但如何使用右上角的X按钮停止它

主要内容:

import java.awt.*;
公共班机{
公共静态void main(字符串[]args){
invokeLater(新的Runnable(){
@凌驾
公开募捐{
大型机框架=新的大型机();
frame.draw();
}
});
}
}
大型机:

import javax.swing.*;
导入java.awt.*;
公共类大型机扩展JFrame{
私人JPanel小组;
公共主机(){
超级(“对象模拟”);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setExtendedState(JFrame.MAXIMIZED_两者);
可设置大小(真);
维度d=Toolkit.getDefaultToolkit().getScreenSize();
设置大小(d);
panel=新的JPanel();
面板尺寸设置(d);
面板.倒接地(颜色:黑色);
添加(面板);
setVisible(真);
}
公众抽签(){
while(true){
//画些不同的东西
}
}
}
提前谢谢!

代码结构错误:1)不要使用while循环来制作动画。相反,请使用一个图标来安排动画。2) 自定义绘制是通过覆盖JPanel的`paintComponent(…)方法完成的,然后将面板添加到框架中。有关基本信息,请参阅。您还可以查看:使用上述建议查看一个工作示例。但是如何使用右上角的X按钮停止它我不知道那是什么意思。“X”按钮用于关闭框架。您应该在框架中添加一个单独的按钮,然后使用ActionListener,然后您可以停止计时器。