码迷,mamicode.com
首页 > 其他好文 > 详细

画图2

时间:2016-08-26 19:46:28      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:

按钮流动排列:

frame.setLayout=new FlowLayout();

添加图形按钮到窗体:运用数组

String[] shape={"自定义图形","随意三角形","直角三角形","等腰三角形","绿色"};
for(int i=0;i<shape.length;i++){
JButton shapebutton=new JButton();
shapebutton.setText(shape[i]);
shapebutton.addActionListener(DrawL);
frame.add(shapebutton);}

在监听器中(Released下)

if("等腰三角形".equals(action)){

g.drawLine(x1, y1, x2, y2);
g.drawLine(x1, y1,2*x1-x2 , y2);
g.drawLine(2*x1-x2, y2, x2, y2);


}

 

若想点三个点,然后自动画出三角形:(前面已将i设为3)

public void mouseClicked(MouseEvent e){

if("随意三角形".equals(action)){

if(i==3){
x3=e.getX();
y3=e.getY();
i++;
}
else if(i==4){     ......要写else,否则点击一次三个if都执行了
x4=e.getX();
y4=e.getY();
i++;
}
else if(i==5){
x5=e.getX();
y5=e.getY();

g.drawLine(x3, y3, x4, y4);
g.drawLine(x3, y3, x5, y5);
g.drawLine(x4, y4, x5, y5);
i=3;     .........最后将i又变成初值,不然循环只能执行一次画出一个三角形
}
}

 

因为添加了按钮,有动作事件:

事件名:public class DrawListener implements MouseListener,ActionListener

 

public void actionPerformed(ActionEvent e){
action=e.getActionCommand();    ...........getActionCommand()获取一个字符串,如果事件源没有设置ActionCommand,获取出来的就是按钮上的文字,否则就是设置   System.out.print("action:"+action);                                           的ActionCommand。

}

                                                            

画图2

标签:

原文地址:http://www.cnblogs.com/zjc-66/p/5811442.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!