📄 roadtest.java
字号:
import javax.swing.*;
import java.awt.*;
import java.awt.geom.*;
import java.awt.event.*;
import java.util.*;
import java.math.*;
import javax.swing.Timer;
public class RoadTest
{
public static void main(String[] args)
{
RoadFrame frame=new RoadFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}
class RoadFrame extends JFrame
{
public RoadFrame()
{
setTitle("ButtonFrame");
setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
Container content=getContentPane();
RoadPanel panel=new RoadPanel();
content.add(panel);
}
public static final int DEFAULT_WIDTH=400;
public static final int DEFAULT_HEIGHT=400;
}
class RoadPanel extends JPanel
{
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawString("12",198,95);
g.drawString("9",90,198);
g.drawString("6",198,313);
g.drawString("3",305,198);
Graphics2D g2=(Graphics2D)g;
setBackground(Color.white); //设置背景色
int topX=100;
int topY=100;
int r=200;
double k=Math.PI/6;
g2.draw(new Ellipse2D.Double(topX,topY,r,r));
for(int i=0;i<12;i++)
{
Ellipse2D circle=new Ellipse2D.Double(topX,topY,r,r);
double centerx=circle.getCenterX();
double centery=circle.getCenterY();
g2.draw(new Line2D.Double(centerx,centery,centerx+r*(Math.cos(k)/2),centery+(Math.sin(k))*r/2));
k=k+Math.PI/6;
}
Ellipse2D circle=new Ellipse2D.Double(topX+10,topY+10,r-20,r-20);
g2.draw(circle);
g2.setPaint(Color.white);
g2.fill(circle);
g2.draw(new Line2D.Double(20,20,20,10));
ActionListener listener=new ActionPerformed();
Timer t=new Timer(1,listener);
t.start();
}
private class ActionPerformed implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
Graphics g=getGraphics();
Date now=new Date();
String anow=" "+now;
g.drawString(anow,100,350);
update(g);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -