概述
import java.awt.*;
import java.awt.event.*;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
/*
* 1.窗体添加文案提示,
* 2.鼠标上移按钮,添加提示语,鼠标移除,提示语消失
* 3.点击按钮,按钮消失、原窗体消失
* 4.点击按钮,弹出新的弹窗,
* 5.并可以对新的弹窗再进行操作
* 6.区分鼠标左键右键的动作,作出不同的反应,,
* 问题:新的弹窗再次操作
* /
*/
public class MouseEvent01 {
public static void main(String [] args) {
final JFrame f = new JFrame ("MouseEvent");
//设置窗口布局
f.setLayout(new FlowLayout());
f.setSize(300,200);
f.setLocationRelativeTo(null);
f.setVisible(true);
//窗体添加提示语
Label lable = new Label();
lable.setText("欢迎到来");
lable.setBounds(100, 70, 80, 30);
f.add(lable);
//创建一个按钮
JButton but = new JButton("点击"); //必须使用Jbutton,
but.setBounds(100, 100, 80, 30);
f.add(but);
//为按钮添加鼠标事件监听
but.addMouseListener(new MouseListener() {
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
System.out.println("MouseClicked---鼠标完成点击事件");
//判断鼠标多事件,左键,右键,滚轮
//解决方案,定义多个常量来标识鼠标动作
if(e.getButton()== e.BUTTON1) {
System.out.println("鼠标左击事件");
//左键点击按钮,弹出新的弹窗
JFrame frame = new JFrame("Hello");
frame.setLayout(null);
frame.setBounds(250, 250, 300, 200);
// frame.setSize(100, 100); //单独设置窗口大小
// frame.setLocationRelativeTo(null); //设窗体的位置居中
frame.setBackground(Color.BLUE);
frame.setVisible(true);
JButton but1 = new JButton("关闭"); //必须使用Jbutton,
but1.setBounds(100, 100, 80, 30);
frame.add(but1);
lable.setText("Hello");//弹出后的弹窗提示的文案,lable赋予的值不会再被改变,然鹅有bug,,
frame.add(lable);
//点击以后原有的原有的窗体关闭
//f.dispose();
//点击关闭按钮以后,按钮消失,只有让按钮消失,点击右键才不会影响Frame弹窗文字,封闭按钮;或者可以创建两个变量也行,互不干扰
but.setVisible(false);
// lable.setText("请继续操作");
}
if(e.getButton() == e.BUTTON3) {
System.out.println("鼠标右击事件");
//点击以后,提示语变化
lable.setText("请左键点击按钮");
}
if(e.getButton() == e.BUTTON2) {
System.out.println("鼠标中间点击事件");
}
}
@Override
public void mouseEntered(MouseEvent arg0) {
// TODO Auto-generated method stub
System.out.println("MouseEntered---鼠标进入按钮区域事件");
//but.setText("点我");
//鼠标上移,按钮出现提示文字
but.setToolTipText("点我");
}
@Override
public void mouseExited(MouseEvent arg0) {
// TODO Auto-generated method stub
System.out.println("MouseExited---鼠标移除按钮区事件");
}
@Override
public void mousePressed(MouseEvent arg0) {
// TODO Auto-generated method stub
System.out.println("MousePressed---鼠标按下事件");
}
@Override
public void mouseReleased(MouseEvent arg0) {
// TODO Auto-generated method stub
System.out.println("MouseReleased---鼠标放开事件");
}
});
}
}
图三好丑,,添加一个关闭按钮吧,但还是好丑啊
最后
以上就是内向犀牛为你收集整理的通过鼠标窗体事件操作的全部内容,希望文章能够帮你解决通过鼠标窗体事件操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复