| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 462 人关注过本帖
标题:求大家帮助修改下
只看楼主 加入收藏
a125598
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-12-26
收藏
 问题点数:0 回复次数:2 
求大家帮助修改下
修改例W14E6,使得当鼠标在窗口中点击任何位置时,都会将按钮放在以点击位置为中心的位置,并在文本域中显示中心位置的坐标。
import java.awt.*;
import java.awt.event.*;
import javax.swing.SwingUtilities;

public class W14E6{

    public static void main(String[] args) {
        MyWindow myWin = new MyWindow("鼠标运动事件测试");
        
    }   
   
}

class MyWindow extends Frame implements MouseMotionListener{
    Button b;
    TextArea ta;
   
    MyWindow(String s){
        super(s);
        setLayout(new FlowLayout());
        setBounds(200, 100, 600, 300);
        b = new Button("按钮");
        add(b);
        ta = new TextArea();
        add(ta);
        b.addMouseMotionListener(this);
        ta.addMouseMotionListener(this);
        addWindowListener(new WindowAdapter(){
            public void windowClosing(WindowEvent e){
                System.exit(0);
            }
        });
        setVisible(true);
    }
   
    public void mouseDragged(MouseEvent e){
        int x,y,w,h;
        Component c = (Component)e.getSource();
        e = SwingUtilities.convertMouseEvent(c,e,this);
        x = e.getX();
        y = e.getY();
        w=c.getSize().width;
        h=c.getSize().height;
        c.setLocation(x-w/2,y-h/2);   
    }
   
    public void mouseMoved(MouseEvent e){}
        
}
搜索更多相关主题的帖子: 鼠标 public import 中心 
2012-12-26 19:33
w527705090
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:441
专家分:1882
注 册:2011-6-28
收藏
得分:0 
没分啊 〉???

有心者,千方百计;无心者,千难万难。
2012-12-27 14:55
luoluoyide
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-12-31
收藏
得分:0 
程序代码:
package com.guigu.guo.main;

import java.awt.*;
import java.awt.event.*;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;

public class W14E6
{

    public static void main(String[] args)
    {
        MyWindow myWin = new MyWindow("鼠标运动事件测试");

    }

}

class MyWindow extends JFrame implements MouseListener
{
    JButton b;
    JTextArea ta;
    JPanel panel;

    MyWindow(String s)
    {
        super(s);
        this.setLayout(new BorderLayout());
        this.setSize(600, 500);
        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        panel=new JPanel();
        panel.setLayout(null);
        
        b = new JButton("按钮");
        b.setBounds(20, 20, 60, 30);
        
        ta = new JTextArea();
        ta.setRows(5);
        
        this.getContentPane().add(ta,BorderLayout.NORTH);
        this.getContentPane().add(panel,BorderLayout.CENTER);
        
        panel.add(b);
        panel.addMouseListener(this);
        setVisible(true);
    }


    @Override
    public void mouseClicked(MouseEvent arg0)
    {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void mouseEntered(MouseEvent arg0)
    {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void mouseExited(MouseEvent arg0)
    {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void mousePressed(MouseEvent e)
    {
        int x=e.getPoint().x;
        int y=e.getPoint().y;
        ta.setText("中心位置的坐标是:("+x+","+y+")");
        int h=b.getSize().height;
        int w=b.getSize().width;
        b.setLocation(x-w/2,y-h/2);

    }

    @Override
    public void mouseReleased(MouseEvent arg0)
    {
        // TODO Auto-generated method stub
        
    }

}

楼主看看对不对
2012-12-31 16:12
快速回复:求大家帮助修改下
数据加载中...
 
   



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

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