java 画线程序

如何在Java中画线并使其随着按钮按动旋转(可控制角度),前提是已经有其他按钮并且有背景图片。... 如何在Java 中画线并使其随着按钮按动旋转(可控制角度),前提是已经有其他按钮并且有背景图片。 展开
 我来答
设计营地
推荐于2016-05-06 · 分享交流设计软件相关的知识
设计营地
采纳数:552 获赞数:860

向TA提问 私信TA
展开全部
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.AffineTransform;
import java.awt.geom.Line2D;

import javax.swing.*;

public class l extends JFrame implements ActionListener {
JPanel jp;
int n=30;
static Line2D.Double ld=new Line2D.Double(400,100,400,500);




l(){
jp=new JPanel();
JButton jb= new JButton("旋转");
jp.add(jb);
jb.addActionListener(this);
add(jp,BorderLayout.NORTH);
setSize(800,600);
//setVisible(true);
}
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO 自动生成的方法存根

secondTransform.setToRotation(((double)n)*(Math.PI/180.0f),400,400);
double x1,x2,x3,x4;
x1=400+200*Math.cos(n/180d*Math.PI);
x2=300+200*Math.sin(n/180d*Math.PI);
x3=400+200*Math.cos((180+n)/180d*Math.PI);
x4=300+200*Math.sin((180+n)/180d*Math.PI);
System.out.println(x1+","+x2+","+x3+","+x4);
ld=new Line2D.Double(x1,x2,x3,x4);
n+=30;
}

public static void main(String[] args) {
// TODO 自动生成的方法存根
l l1=new l();
l1.setVisible(true);
l1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void paint(Graphics g) {  
        super.paintComponents(g);  
        Graphics2D g2 = (Graphics2D) g;  
        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
        //g2.fill(ld.createTransformedShape(secondTransform));
        g2.draw(ld);
        repaint();
    }

}
追问
为什么一直在闪烁?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式