| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1148 人关注过本帖
标题:java 鼠标感应问题
只看楼主 加入收藏
suckdog
Rank: 1
等 级:新手上路
帖 子:130
专家分:0
注 册:2007-9-19
结帖率:41.67%
收藏
 问题点数:0 回复次数:4 
java 鼠标感应问题
要求写一个程式, 当鼠标在左边程式窗口时背景色变成红色, 当鼠标指在右边程式窗口时背景色变成绿色。

希望高手可以写出来给我这个新手看看, 我刚接触java一个礼拜, 基本什么也不懂, 谢谢大家帮忙
搜索更多相关主题的帖子: 鼠标 java 感应 
2008-10-18 08:00
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:0 
是不是要这样的效果?

程序代码:
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Toolkit;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JFrame;
import javax.swing.JLabel;

public class MouseEventTest extends JFrame{
    private Container container;
    private JLabel label1,label2;
    
    public MouseEventTest(){
        super("MouseEventTest");
        container = getContentPane();
        
        label1 = new JLabel("绿色");
        label1.addMouseListener(
                new MouseAdapter(){
                    public void mouseEntered(MouseEvent event){
                        container.setBackground(Color.GREEN);
                    }
                    public void mouseExited(MouseEvent event){
                            container.setBackground(Color.WHITE);
                        }
                }
                );
        label2 = new JLabel("红色");
        label2.addMouseListener(
                new MouseAdapter(){
                    public void mouseEntered(MouseEvent event){
                        container.setBackground(Color.RED);
                    }
                    public void mouseExited(MouseEvent event){
                            container.setBackground(Color.WHITE);
                        }
                }
                );
        container.setLayout(new FlowLayout());
        container.add(label1);
        container.add(label2);
        
        setSize(400,400);
        setResizable(false);
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        setLocation((screenSize.width - frameSize.width)/2,(screenSize.height - frameSize.height)/2);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public static void main(String[] args) {
        new MouseEventTest();
    }
}
2008-10-18 12:21
suckdog
Rank: 1
等 级:新手上路
帖 子:130
专家分:0
注 册:2007-9-19
收藏
得分:0 
差不多了, 但是为什么两个方框特别小?? 我想要鼠标移到整个窗口的左边和右边, 不知道如何改进, 请指教,谢谢
2008-10-18 15:24
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:0 
这个可以了

程序代码:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JFrame;
import javax.swing.JLabel;

public class MouseEventTest extends JFrame{
    private Container container;
    private JLabel label1,label2;
    
    public MouseEventTest(){
        super("MouseEventTest");
        container = getContentPane();
        
        label1 = new JLabel("绿色",javax.swing.SwingConstants.CENTER);
        label1.addMouseListener(
                new MouseAdapter(){
                    public void mouseEntered(MouseEvent event){
                        container.setBackground(Color.GREEN);
                    }
                    public void mouseExited(MouseEvent event){
                            container.setBackground(Color.WHITE);
                        }
                }
                );
        label2 = new JLabel("红色",javax.swing.SwingConstants.CENTER);
        label2.addMouseListener(
                new MouseAdapter(){
                    public void mouseEntered(MouseEvent event){
                        container.setBackground(Color.RED);
                    }
                    public void mouseExited(MouseEvent event){
                            container.setBackground(Color.WHITE);
                        }
                }
                );
        container.add(label1,BorderLayout.WEST);
        container.add(label2,BorderLayout.EAST);
        
        setSize(400,400);
        setResizable(false);
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        setLocation((screenSize.width - frameSize.width)/2,(screenSize.height - frameSize.height)/2);
        label1.setPreferredSize(new Dimension(200,400));
        label2.setPreferredSize(new Dimension(200,400));
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public static void main(String[] args) {
        new MouseEventTest();
    }
}
2008-10-18 17:50
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
动作事件  选项事件 鼠标移动事件 鼠标事件 键盘事件 组件焦点事件 调整事件 组件改变事件 窗口事件  都记住就好了

学习需要安静。。海盗要重新来过。。
2008-10-18 19:03
快速回复:java 鼠标感应问题
数据加载中...
 
   



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

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