刚学到swing这里 在那本java核心技术那本书上有这么一个程序,代码是这样的:package swing;
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;public class DrawTest { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
DrawFrame frame=new DrawFrame();
//DrawPanel panel=new DrawPanel();
//frame.add(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}}class DrawFrame extends JFrame{
public DrawFrame(){
setTitle("myframe");
setSize(400,400);
DrawPanel panel=new DrawPanel();
add(panel);
}
}class DrawPanel extends JPanel{
public void panitComponent(Graphics g){
super.paintComponent(g);
Graphics2D g2=(Graphics2D) g;
double leftX=100;
double topY=100;
double width=200;
double height=150;
Rectangle2D rect=new Rectangle2D.Double(leftX, topY, width, height);
g2.draw(rect);
Ellipse2D ellipse=new Ellipse2D.Double();
ellipse.setFrame(rect);
g2.draw(ellipse);
g2.draw(new Line2D.Double(leftX,topY,leftX+width,topY+height));
double centerX=rect.getCenterX();
double centerY=rect.getCenterY();
double raduis=150;
Ellipse2D circle=new Ellipse2D.Double();
circle.setFrameFromCenter(centerX, centerY, centerX+raduis, centerY+raduis);
g2.draw(circle);
}
}
我用Myeclips和 NetBeans虽然没有报错,但是得不到想要的结果,得到的是一个空白的窗口,但是事实上书上显的会得到一在窗口里画出图形。然后我直接在命令提示符下运行,编译也没有报错,但是运行的时候还是不能得到想要的结果,请问是怎么回事啊。
谢谢了
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;public class DrawTest { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
DrawFrame frame=new DrawFrame();
//DrawPanel panel=new DrawPanel();
//frame.add(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}}class DrawFrame extends JFrame{
public DrawFrame(){
setTitle("myframe");
setSize(400,400);
DrawPanel panel=new DrawPanel();
add(panel);
}
}class DrawPanel extends JPanel{
public void panitComponent(Graphics g){
super.paintComponent(g);
Graphics2D g2=(Graphics2D) g;
double leftX=100;
double topY=100;
double width=200;
double height=150;
Rectangle2D rect=new Rectangle2D.Double(leftX, topY, width, height);
g2.draw(rect);
Ellipse2D ellipse=new Ellipse2D.Double();
ellipse.setFrame(rect);
g2.draw(ellipse);
g2.draw(new Line2D.Double(leftX,topY,leftX+width,topY+height));
double centerX=rect.getCenterX();
double centerY=rect.getCenterY();
double raduis=150;
Ellipse2D circle=new Ellipse2D.Double();
circle.setFrameFromCenter(centerX, centerY, centerX+raduis, centerY+raduis);
g2.draw(circle);
}
}
我用Myeclips和 NetBeans虽然没有报错,但是得不到想要的结果,得到的是一个空白的窗口,但是事实上书上显的会得到一在窗口里画出图形。然后我直接在命令提示符下运行,编译也没有报错,但是运行的时候还是不能得到想要的结果,请问是怎么回事啊。
谢谢了
解决方案 »
- JAVA中的异常问题
- ***让我们的用行动来为他们祈福——更改你的头像!***
- java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
- java画图程序打开文件和保存文件问题
- 请教一个问题
- 想买个能满足开发的笔记本,就是运行eclipse,jbuilder,.net等环境感觉和台式机差不多,不感到太慢就行。。大家给个建议
- The JAVA Web Server Tutorial书名的中文译名是什么呀?
- 请问有谁看过《JAVA图象编程实例库》这本书?
- public class a extends b{}--Calling protected Nember function error!!
- 关于JAVA的socket连接的安全疑问?
- java程序体系架构
- java数据结构问题
//重写JComponent 中的方法
public void paintComponent(Graphics g)你写成panit了