java 图形设计基础错误,帮助改正下,谢谢

来源:百度知道 编辑:UC知道 时间:2024/05/04 21:02:11
根据题目要求画一个时钟大概的样子
我的解答就是画个园,然后再画分针和时针,当然时针的线比较短,最后再显示当前时间,可是eclipse提示无法添加到JFrame中,帮我看一下吧
ClockComponent.java
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Line2D;
import java.awt.geom.Point2D;
import java.util.Calendar;
public class ClockComponent {
public void paintComponent(Graphics g){
Graphics2D g2 =(Graphics2D) g;
Calendar now=Calendar.getInstance();
int hours = now.get(Calendar.HOUR);
int minutes = now.get(Calendar.MINUTE);
//圆心坐标(400.400)半径100
Ellipse2D.Double circle = new Ellipse2D.Double(400,400,100,100);
Point2D.Double from = new Point2D.Double(400,400);
//X,Y为时针方向上在圆弧上的点的坐标
double X = 400 + 100 * Math.sin(Math.PI/6*(hours +(float) minutes /60));
double Y = 400 - 100 * Math.cos(Math.PI/6*(hours +(float)minutes / 60));

java.text.Format df = new java.text.DecimalFormat("#0.00&quo

呵呵,我也做了一个钟表程序,在我的百度空间里,大家可以互相观摩一下。另外在Sun的JDK中demo\applets\Clock目录下有一个时钟程序演示,你不妨借鉴一下。
ClockComponent 是一个默认继承自Object的自定义类,而Frame只能添加组件,或嵌套的Frame、Applet等。这就好比你不能把一个打印"HelloWorld"的类创建的对象加入到一个Frame中一样牛头不对马嘴。
按你的意思可以让ClockComponent继承JPanel类、或Applet类,以便在浏览器上运行,然后就可以把它自己加入到Frame中了。
……
public class ClockComponent extends JPanel{
……

frame.setVisible(true);
}
}

sgegsd