package JFreamTest;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class DrawCircle {
private static Object ture;
private final int OVAL_WIDTH=80;
private final int OVAL_HEIGHT=80;
public void Drwciecle() {
initialize();
}
private void initialize() {
setSize(300,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setContentPanel(new DrawPanel());
setVisible("绘图");
}
private void setContentPanel(DrawPanel drawPanel) {
// TODO 自动生成的方法存根
}
private void setDefaultCloseOperation(int exitOnClose) {
// TODO 自动生成的方法存根
}
private void setSize(int i, int j) {
// TODO 自动生成的方法存根
}
@SuppressWarnings("serial")
class DrawPanel extends JPanel{
public void paint(Graphics g) {
g.drawOval(10, 10, OVAL_WIDTH, OVAL_HEIGHT);
g.drawOval(80,10,OVAL_WIDTH, OVAL_HEIGHT);
g.drawOval(150,10,OVAL_WIDTH, OVAL_HEIGHT);
g.drawOval(50,70,OVAL_WIDTH, OVAL_HEIGHT);
g.drawOval(120,70,OVAL_WIDTH, OVAL_HEIGHT);
}
}
public static void main(String[] args) {
new DrawCircle().setVisible (ture);
}
private void setVisible(Object ture2) {
// TODO 自动生成的方法存根
}
}
程序没有报错,但运行不出来
如果你的代码没有出错,但是无法正常运行,可能是由于你的代码逻辑有误或者与其他代码产生了冲突。以下是几种可能的情况和解决方法:
Java程序的入口是主方法main
,如果你的代码中没有调用主方法,那么程序就无法正常运行。你可以添加以下代码来调用主方法:
public static void main(String[] args) {
DrawCircle drawCircle = new DrawCircle();
drawCircle.setVisible(true);
}
其中,DrawCircle
是你的窗口类名,调用setVisible(true)
方法可以将窗口显示出来。
如果你使用的是Swing组件库,那么你需要将窗口组件添加到容器中才能正常显示。你可以使用setContentPane
方法将窗口组件添加到内容面板中,例如:
setContentPane(new DrawPanel());
其中,DrawPanel
是你定义的继承自JPanel
的类。
如果你的程序进入了死循环,那么程序将无法正常运行。你可以使用调试工具来定位问题所在,例如使用Eclipse自带的调试工具,逐行执行程序来找到问题所在。
希望以上几种情况的解决方法可以帮助到你,如果还有其他问题,请随时联系我。
没问题望采纳
我只能说,这部分代码问题很多:
1.DrawCircle 应该从JFrame继承。不然怎么能出现窗口呢?
2.代码中自动生成的方法存根,是干嘛用的,删除吧。
3.没有设置 drawpanel的大小。
其他的问题我就不一一列举了,我帮你修改了一下,你对比参考一下吧。
package JFreamTest;
import java.awt.*;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class DrawCircle extends JFrame{
private final int OVAL_WIDTH=80;
private final int OVAL_HEIGHT=80;
public DrawCircle(){
super("绘图");
setSize(300,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setContentPane(new DrawPanel());
}
class DrawPanel extends JPanel{
public void paint(Graphics g) {
g.drawOval(10, 10, OVAL_WIDTH, OVAL_HEIGHT);
g.drawOval(80,10,OVAL_WIDTH, OVAL_HEIGHT);
g.drawOval(150,10,OVAL_WIDTH, OVAL_HEIGHT);
g.drawOval(50,70,OVAL_WIDTH, OVAL_HEIGHT);
g.drawOval(120,70,OVAL_WIDTH, OVAL_HEIGHT);
}
}
public static void main(String[] args) {
new DrawCircle().setVisible(true);
}
}