| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2735 人关注过本帖
标题:关于按钮交互的问题。
取消只看楼主 加入收藏
mxr
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2006-4-27
收藏
得分:0 

aa改好了,谢谢!
现在还要回到我原来的程序了,希望适用!

非常感谢千里冰封!

2006-07-01 10:56
mxr
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2006-4-27
收藏
得分:0 

import java.awt.Canvas;
import java.awt.Color;
import java.awt.Button;
import java.awt.Cursor;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class aa implements ActionListener,MouseListener{
Frame fr;
Button bt1,bt2,bt3,bt4;
Panel pn;
Label label;
Canvas canvas;
String attr,tool;
private static final long serialVersionUID = 884142590900760515L;
public aa() {
fr=new Frame("陕西地图");
FlowLayout layout=new FlowLayout(FlowLayout.LEFT);//组件左对齐;

bt1=new Button("复位");
bt1.setCursor(new Cursor(Cursor.HAND_CURSOR));
bt1.addActionListener(this);
bt2=new Button("放大");
bt2.setCursor(new Cursor(Cursor.HAND_CURSOR));
bt2.addActionListener(this);
bt3=new Button("缩小");
bt3.setCursor(new Cursor(Cursor.HAND_CURSOR));
bt3.addActionListener(this);
bt4=new Button("漫游");
bt4.setCursor(new Cursor(Cursor.HAND_CURSOR));
bt4.addActionListener(this);

pn=new Panel();
pn.setLayout(layout);//设置布局管理器;
pn.add(bt1);pn.add(bt2);pn.add(bt3);pn.add(bt4);
pn.setBackground(Color.white.darker());

label=new Label();
label.setBackground(Color.white.darker());

canvas=new Canvas();

fr.add(pn,"North");
fr.add(canvas,"Center");
fr.add(label,"South");
fr.setBounds(50,50,800,680);
fr.setVisible(true);
fr.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==bt4)
{
tool="pan";
canvas.addMouseListener(this);
}
if(e.getSource()==bt1)
{
tool="reset";
canvas.addMouseListener(this);
}
if(e.getSource()==bt2)
{
tool="big";
canvas.addMouseListener(this);
}
if(e.getSource()==bt3)
{
tool="small";
canvas.addMouseListener(this);
}
}

public void mouseClicked(MouseEvent event) {
if(tool=="reset")
{
label.setText(tool);
System.out.println(tool);
canvas.removeMouseListener(this);
}
if(tool=="big")
{
label.setText(tool);
System.out.println(tool);
canvas.removeMouseListener(this);
}

if(tool=="small")
{
label.setText(tool);
System.out.println(tool);
canvas.removeMouseListener(this);
}
if(tool=="pan")
{
label.setText(tool);
System.out.println(tool);
canvas.removeMouseListener(this);
}
}
public static void main(String[] args) {
new aa();
}
public void mousePressed(MouseEvent e) {}

public void mouseReleased(MouseEvent e) {}

public void mouseEntered(MouseEvent e) {}

public void mouseExited(MouseEvent e) {}
}
又有新问题了,如果点击同一个button多次,再点击canvas,就会有多次输出,怎么判断点击的是同一个button?

2006-07-01 11:40
mxr
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2006-4-27
收藏
得分:0 
有没有判断按钮是否按下的方法?isPressed()方法不对呀!!
2006-07-01 12:18
mxr
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2006-4-27
收藏
得分:0 
要保存的只能是当前按过的按钮,不能把所有按过的按钮都记录。连续按下的按钮任务不能重复执行的。

你能不能帮忙把这个程序该一下,谢谢了。我现在头都大了
2006-07-01 13:15
mxr
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2006-4-27
收藏
得分:0 
我用了4个变量来记录4个按钮的状态,是不是很麻烦?如果用一个变量可以实现么?
2006-07-01 13:22
快速回复:关于按钮交互的问题。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016272 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved