java事件处理

importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassMouseMoveexten... import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MouseMove extends JFrame{
int[] a={100,200,300};
int[] b={50,150,250};
int[] c={50,50,50};
int[] d={50,50,50};
int i;
String[] e={"显示第一个","显示第二个","显示第三个"};
public MouseMove(){
}
public void paint(Graphics g){
for(i=0;i<3;i++){
g.drawRect(a[i], b[i], c[i], d[i]);
}
}
public static void main(String[] args){
MouseMove jf=new MouseMove();
Container ct=null;
JPanel jp=new JPanel();
final JTextField jt=new JTextField();
ct=jf.getContentPane();
ct.add(jp,BorderLayout.CENTER);
ct.add(jt,BorderLayout.NORTH);
jp.addMouseListener(new MouseListener(){
public void mouseEntered(MouseEvent e) {
}
public void mousePressed(MouseEvent e)
{
int x=e.getX();
int y=e.getY();
if(100<x && x<150 && y>150 && y<200){
jt.setText("Mouse Entered");
}
else{
jt.setText("我");
}
}
public void mouseExited(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
public void mouseClicked(MouseEvent e) {}

});
jf.setSize(600, 400);
jp.setSize(600, 400);
jf.setVisible(true);
}
}
以上是我的程序,运行没有问题,但是我不知道下面该怎么实现,我要求的是利用a[i],b[i],c[i],d[i]来画一个矩形,在鼠标事件中,利用坐标的关系,达到当我的鼠标在其中一个矩形区域的时候,把相应的e[i],显示到文本框中.谢谢
我的要的结果就是利用i来判断的,在判断的时候,首先要判断鼠标落在那一个矩形区域,此时取出i的指,然后根据i的指取出e[i],并把它显示出来.
哦,因为a[i],和e[i]里面是对应的,我现在已经实现了.我对界面部分不是很了解,特别是关于时间和重新绘制部分.你可以给我详细的解释下吗?或者给我推荐一点资料也可以.谢谢你了
展开
 我来答
yhy3734
2009-07-21 · TA获得超过3969个赞
知道小有建树答主
回答量:909
采纳率:0%
帮助的人:436万
展开全部
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Test extends JFrame{
int[] a={100,200,300};
int[] b={50,150,250};
int[] c={50,50,50};
int[] d={50,50,50};
int i;
String[] e={"显示第一个","显示第二个","显示第三个"};
public Test(){
}
public void paint(Graphics g){
for(i=0;i<3;i++){
g.drawRect(a[i], b[i], c[i], d[i]);
}
}
public static void main(String[] args){
Test jf=new Test();
Container ct=null;
JPanel jp=new JPanel();
final JTextField jt=new JTextField();
ct=jf.getContentPane();
ct.add(jp,BorderLayout.CENTER);
ct.add(jt,BorderLayout.NORTH);
jp.addMouseListener(new MouseListener(){
public void mouseEntered(MouseEvent e) {
}
public void mousePressed(MouseEvent e)
{
int x=e.getX();
int y=e.getY();
if(95<x && x<150 && y>5 && y<55){
jt.setText("显示第一个");
}else if(195<x && x<246 && y>105 && y<156){
jt.setText("显示第二个");
}else if(296<x && x<346 && y>206 && y<255){
jt.setText("显示第三个");
}
else{
jt.setText("我");
}
}
public void mouseExited(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
public void mouseClicked(MouseEvent e) {}

});
jf.setSize(600, 400);
jp.setSize(600, 400);
jf.setVisible(true);
}
}
//----------------
只能用本方法判断然后填写上 你那个String 数组E 没法用啊?
——————————————————————————————
你画图的动作已经完成
鼠标监听的时候只能得到坐标其他的根本都得不到
你怎么和i关联?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式