精华内容
下载资源
问答
  • Java中的鼠标和键盘事件1、使用MouseListener借口处理鼠标事件鼠标事件有5种:按下鼠标键,释放鼠标键,点击鼠标键,鼠标进入和鼠标退出鼠标事件类型是MouseEvent,主要方法有:getX(),getY() 获取鼠标位置...

    Java中的鼠标和键盘事件

    1、使用MouseListener借口处理鼠标事件

    鼠标事件有5种:按下鼠标键,释放鼠标键,点击鼠标键,鼠标进入和鼠标退出

    鼠标事件类型是MouseEvent,主要方法有:

    getX(),getY() 获取鼠标位置

    getModifiers() 获取鼠标左键或者右键

    getClickCount() 获取鼠标被点击的次数

    getSource() 获取鼠标发生的事件源

    事件源获得监视器的方法是addMouseListener(),移去监视器的方法是removeMouseListener()

    处理事件源发生的时间的事件的接口是MouseListener 接口中有如下的方法

    mousePressed(MouseEvent) 负责处理鼠标按下事件

    mouseReleased(MouseEvent) 负责处理鼠标释放事件

    mouseEntered(MouseEvent) 负责处理鼠标进入容器事件

    mouseExited(MouseEvent) 负责处理鼠标离开事件

    mouseClicked(MouseEvent) 负责处理点击事件

    2、使用MouseMotionListener接口处理鼠标事件

    事件源发生的鼠标事件有2种:拖动鼠标和鼠标移动

    鼠标事件的类型是MouseEvent

    事件源获得监视器的方法是addMouseMotionListener()

    处理事件源发生的事件的接口是MouseMotionListener 接口中有如下的方法

    mouseDragged() 负责处理鼠标拖动事件

    mouseMoved() 负责处理鼠标移动事件

    3、控制鼠标的指针形状

    setCursor(Cursor.getPreddfinedCursor(Cursor.鼠标形状定义)) 鼠标形状定义见(书 P 210)

    4、键盘事件

    键盘事件源使用addKeyListener 方法获得监视器

    键盘事件的接口是KeyListener 接口中有3个方法

    public void keyPressed(KeyEvent e) 按下键盘按键

    public void keyReleased(KeyEvent e) 释放键盘按键

    public void keyTypde(KeyEvent e) 按下又释放键盘按键

    package mouseenvent;

    import java.awt.*;

    import javax.swing.*;

    import java.awt.event.*;

    public class Mouse extends JFrame implements MouseListener{

    JPanel jp = new JPanel();

    JLabel statusbar = new JLabel();

    static final long serialVersionUID=0;

    public Mouse(){

    setTitle("Mouse Event");

    getContentPane().add(jp,BorderLayout.CENTER);

    getContentPane().add(statusbar, BorderLayout.SOUTH);

    jp.addMouseListener(this);

    }

    public static void main(String[] args){

    Mouse frame = new Mouse();

    frame.setSize(500,500);

    frame.setVisible(true);

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }

    public void mousePressed(MouseEvent e){

    int x = e.getX();

    int y = e.getY();

    String s = "鼠标在坐标"+"("+x+","+y+")"+"处按下";

    statusbar.setText(s);

    }

    public void mouseReleased(MouseEvent e){

    int x = e.getX();

    int y = e.getY();

    String s = "鼠标在坐标"+"("+x+","+y+")"+"处释放";

    statusbar.setText(s);

    }

    public void mouseClicked(MouseEvent e){

    int x = e.getX();

    int y = e.getY();

    String s = "鼠标在坐标"+"("+x+","+y+")"+"处点击";

    statusbar.setText(s);

    }

    public void mouseEntered(MouseEvent e){

    int x = e.getX();

    int y = e.getY();

    String s = "鼠标在坐标"+"("+x+","+y+")"+"处进入";

    statusbar.setText(s);

    }

    public void mouseExited(MouseEvent e){

    int x = e.getX();

    int y = e.getY();

    String s = "鼠标在坐标"+"("+x+","+y+")"+"处离开";

    statusbar.setText(s);

    }

    }

    package mouseenvent;

    import java.awt.*;

    import javax.swing.*;

    import java.awt.event.*;

    public class MouseMotion extends JFrame implements MouseMotionListener{

    static final long serialVersionUID=0;

    JLabel bar = new JLabel();

    JTextField text = new JTextField();

    public MouseMotion(){

    setTitle("Mouse Event");

    getContentPane().add(text,BorderLayout.NORTH);

    getContentPane().add(bar, BorderLayout.SOUTH);

    addMouseMotionListener(this);

    }

    public void mousePressed(MouseEvent e){

    int x = e.getX();

    int y = e.getY();

    String s = "x = "+x+"y = "+y;

    bar.setText(s);

    text.setText(s);

    }

    public void mouseDragged(MouseEvent e){

    int x = e.getX();

    int y = e.getY();

    String s = "x = "+x+" y = "+y;

    bar.setText(s);

    text.setText(s);

    }

    public void mouseMoved(MouseEvent e){

    int x = e.getX();

    int y = e.getY();

    String s = "x = "+x+" y = "+y;

    bar.setText(s);

    text.setText(s);

    }

    public static void main(String args[])throws Exception{

    MouseMotion mouse = new MouseMotion();

    mouse.setSize(500,500);

    mouse.setVisible(true);

    mouse.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }

    }

    package mouseenvent;

    import java.awt.event.*;

    import javax.swing.*;

    import java.awt.*;

    public class Key extends JFrame implements KeyListener{

    JLabel bar ;

    public Key(){

    bar = new JLabel();

    getContentPane().add(bar,BorderLayout.CENTER);

    addKeyListener(this);

    }

    public void keyPressed(KeyEvent e){

    char c = e.getKeyChar();

    String s = c+"" ;

    bar.setText(s);

    }

    public void keyReleased(KeyEvent e){

    char c = e.getKeyChar();

    }

    public void keyTyped(KeyEvent e){

    char c = e.getKeyChar();

    }

    public static void main(String args[])throws Exception{

    Key key = new Key();

    key.setSize(500,500);

    key.setVisible(true);

    key.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

    }

    }

    标签:

    本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,尊重他人劳动成果

    文章转载自:网络转载

    a6e1590ae4b228073faff3806334194e.png4

    好文不易,鼓励一下吧!

    展开全文
  • 介绍java作为目前最为流行的计算机开发语言...希望下面的内容介绍,能够让大家对于如何获取鼠标在屏幕上的坐标更加了解,一起来学习下吧。代码如下:import java.awt.BorderLayout;import java.awt.FlowLayout;impo...

    介绍

    java作为目前最为流行的计算机开发语言之一,学习java是高薪就业的好选择,本文介绍的这个小工具主要是使用MouseInfo类实时获取鼠标的信息,然后再JDialog上显示出来。希望下面的内容介绍,能够让大家对于如何获取鼠标在屏幕上的坐标更加了解,一起来学习下吧。

    代码如下:

    import java.awt.BorderLayout;

    import java.awt.FlowLayout;

    import javax.swing.JButton;

    import javax.swing.JDialog;

    import javax.swing.JFrame;

    import javax.swing.JPanel;

    import javax.swing.border.EmptyBorder;

    import javax.swing.JLabel;

    import java.awt.Font;

    import java.awt.Point;

    import java.util.Timer;

    import java.util.TimerTask;

    import java.awt.Color;

    public class MouseInfo extends JFrame {

    private final JPanel contentPanel = new JPanel();

    JLabel value_x = null;

    JLabel value_y = null;

    /**

    * Launch the application.

    */

    public static void main(String[] args) {

    try {

    MouseInfo info_frame = new MouseInfo();

    info_frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    info_frame.setVisible(true);

    info_frame.setAlwaysOnTop(true);

    Timer timer = new Timer();

    timer.schedule(new TimerTask() {

    @Override

    public void run() {

    Point point = java.awt.MouseInfo.getPointerInfo().getLocation();

    // System.out.println("Location:x=" + point.x + ", y=" +

    // point.y);

    info_frame.value_x.setText("" + point.x);

    info_frame.value_y.setText("" + point.y);

    }

    }, 100, 100);

    } catch (Exception e) {

    e.printStackTrace();

    }

    }

    /**

    * Create the dialog.

    */

    public MouseInfo() {

    setTitle("\u9F20\u6807\u5750\u6807\u83B7\u53D6\u5668");

    setBounds(100, 100, 217, 156);

    getContentPane().setLayout(new BorderLayout());

    contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));

    getContentPane().add(contentPanel, BorderLayout.CENTER);

    contentPanel.setLayout(null);

    JLabel lblx = new JLabel("\u5750\u6807x:");

    lblx.setFont(new Font("宋体", Font.PLAIN, 15));

    lblx.setBounds(22, 27, 66, 31);

    contentPanel.add(lblx);

    JLabel lbly = new JLabel("\u5750\u6807y:");

    lbly.setFont(new Font("宋体", Font.PLAIN, 15));

    lbly.setBounds(22, 68, 66, 31);

    contentPanel.add(lbly);

    value_x = new JLabel("0");

    value_x.setForeground(Color.BLUE);

    value_x.setFont(new Font("宋体", Font.PLAIN, 20));

    value_x.setBounds(82, 27, 66, 31);

    contentPanel.add(value_x);

    value_y = new JLabel("0");

    value_y.setForeground(Color.BLUE);

    value_y.setFont(new Font("宋体", Font.PLAIN, 20));

    value_y.setBounds(82, 68, 66, 31);

    contentPanel.add(value_y);

    }

    }

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

    展开全文
  • Java窗体Jframe上获取鼠标点击的坐标,其中使用了匿名内部类,实例代码非常简单易懂,大家可以学习一下
  • 我把我做的一个题目的代码给你看看,一个很好看的界面,但是你...import java.awt.event.*;import java.awt.*;import java.sql.*;public class chen extends JFrame implements ActionListener{//创建组建JLabel lbl=n...

    dd21e2d3818cc7430fa0dad45850ec7b.png

    我把我做的一个题目的代码给你看看,一个很好看的界面,但是你不能运行,因为我这是连数据库的

    port javax.swing.*;

    import java.awt.event.*;

    import java.awt.*;

    import java.sql.*;

    public class chen extends JFrame implements ActionListener{

    //创建组建

    JLabel lbl=new JLabel("联系人姓名:");

    JLabel lbl2=new JLabel("联系人电话:");

    JLabel lbl3=new JLabel("联系人手机:");

    JLabel lbl4=new JLabel("联系人地址:");

    JTextField txt1=new JTextField();

    JTextField txt2=new JTextField();

    JTextField txt3=new JTextField();

    JTextField txt4=new JTextField();

    JButton btn1=new JButton("添加");

    JButton btn2=new JButton("查询");

    chen(){

    //创建面板

    Container cn=this.getContentPane();

    cn.setLayout(null);

    //添加主键

    cn.add(lbl);

    cn.add(lbl2);

    cn.add(lbl3);

    cn.add(lbl4);

    cn.add(txt1);

    cn.add(txt2);

    cn.add(txt3);

    cn.add(txt4);

    cn.add(btn1);

    cn.add(btn2);

    //设置组建位置

    lbl.setBounds(80,50,80,20);

    txt1.setBounds(160,50,150,20);

    lbl2.setBounds(80,80,80,20);

    txt2.setBounds(160,80,150,20);

    lbl3.setBounds(80,110,80,20);

    txt3.setBounds(160,110,150,20);

    lbl4.setBounds(80,140,80,20);

    txt4.setBounds(160,140,150,20);

    btn1.setBounds(90,170,80,30);

    btn2.setBounds(220,170,80,30);

    //按钮注册

    btn1.addActionListener(this);

    btn2.addActionListener(this);

    //面板设置

    this.setSize(400,300);

    this.setVisible(true);

    this.setTitle("通讯录");

    }

    //重写方法

    public void actionPerformed(ActionEvent e){

    String t1=txt1.getText();

    String t2=txt2.getText();

    String t3=txt3.getText();

    String t4=txt4.getText();

    //判断姓名是否为空

    if(e.getSource()==btn1){

    if(txt1.getText().equals("")){

    JOptionPane.showMessageDialog(null,"请输入联系人的姓名","提示",0);

    return;

    }

    try{

    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

    }catch(ClassNotFoundException ce){

    ce.printStackTrace();

    }

    String url="jdbc:odbc:chen";

    try{

    Connection con=DriverManager.getConnection(url);

    Statement s=con.createStatement();

    String sql="insert into chen(name,dian,shou,di) values('"+t1+"','"+t2+"','"+t3+"','"+t4+"')";

    s.executeUpdate(sql);

    s.close();

    con.close();

    JOptionPane.showMessageDialog(null,"添加成功","提示",1);

    }catch(SQLException cc){

    cc.printStackTrace();

    }

    }else if(e.getSource()==btn2){

    String url="jdbc:odbc:chen";

    try{

    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

    }catch(ClassNotFoundException ce){

    ce.printStackTrace();

    }

    try{

    Connection con=DriverManager.getConnection(url);

    Statement s=con.createStatement();

    String sql="select * from chen where name='"+txt1.getText()+"'";

    ResultSet rs=s.executeQuery(sql);

    if(rs.next()){

    txt2.setText(rs.getString(3));

    txt3.setText(rs.getString(4));

    txt4.setText(rs.getString(5));

    JOptionPane.showMessageDialog(null,"找到了","提示",1);

    } else{

    JOptionPane.showMessageDialog(null,"没有找到","提示",1);

    }

    rs.close();

    s.close();

    con.close();

    }catch(SQLException cc){

    cc.printStackTrace();

    }

    }

    }

    public static void main(String [] args){

    new chen();

    }

    }

    答案补充

    只要把数据库那段话删了就可以运行了

    答案补充

    try{

    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

    }catch(ClassNotFoundException ce){

    ce.printStackTrace();

    }

    String url="jdbc:odbc:chen";

    try{

    Connection con=DriverManager.getConnection(url);

    Statement s=con.createStatement();

    String sql="insert into chen(name,dian,shou,di) values

    答案补充

    }catch(ClassNotFoundException ce){

    ce.printStackTrace();

    }

    }

    ◆◆

    评论读取中....

    请登录后再发表评论!

    ◆◆

    修改失败,请稍后尝试

    展开全文
  • 尽管有限:为焦点事件添加AWTEventListener。...然后查询指针位置。限制是,当然,你的应用程序失去了重点。所以取决于你最终想要实现这一点可能没有用。...第一种方法证明:import java.awt.AWTEvent;impor...

    尽管有限:

    为焦点事件添加AWTEventListener。只要你的应用程序在点击按钮之前就有焦点,你会收到焦点丢失的事件。然后查询指针位置。

    限制是,当然,你的应用程序失去了重点。所以取决于你最终想要实现这一点可能没有用。

    如果您不想失去焦点,那么您将不得不临时拍摄整个屏幕的屏幕截图,并显示在屏幕填充窗口中,照常浏览鼠标点击。

    第一种方法证明:

    import java.awt.AWTEvent;

    import java.awt.MouseInfo;

    import java.awt.Toolkit;

    import java.awt.event.AWTEventListener;

    import javax.swing.JFrame;

    public class Application1 {

    public static void main(String[] args) {

    Toolkit.getDefaultToolkit().addAWTEventListener(

    new Listener(), AWTEvent.MOUSE_EVENT_MASK | AWTEvent.FOCUS_EVENT_MASK);

    JFrame frame = new JFrame();

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    frame.setVisible(true);

    }

    private static class Listener implements AWTEventListener {

    public void eventDispatched(AWTEvent event) {

    System.out.print(MouseInfo.getPointerInfo().getLocation() + " | ");

    System.out.println(event);

    }

    }

    }

    点击应用程序外部生成:

    java.awt.Point[x=198,y=59] | java.awt.event.MouseEvent[MOUSE_EXITED, ...

    java.awt.Point[x=976,y=503] | java.awt.FocusEvent[FOCUS_LOST, ...

    第二点是在应用程序之外。

    展开全文
  • 尽管可能,但可能会受到限制:为焦点事件添加一个AWTEventListener。只要您的应用在单击按钮之前就具有焦点,就会收到焦点丢失事件。然后查询指针位置。限制是,当然,您的...第一种方法的证明:import java.awt....
  • 在整个窗体上进行爱心移动并且不影响鼠标操作其他的软件1.先创建窗体的外壳(就像门框)代码:package com.jerry.classs;.../*** Java中表示窗体的类:JFrame 步骤: 1.写一个类,继承JFrame 2.写一...
  • 4、[主观题]【程序填空题】设计一个JFrame窗口,窗口中心有一个文本区。另有4个菜单,每个菜单都有菜单项...import java.awt.*;import java.awt.event.*;import javax.swing.*;public class C2902 implements Action...
  • java常用窗体(JFrame、JDialog)

    千次阅读 2019-12-16 12:01:09
    JFrame窗体 JFrame窗体是一个容器,它是Swing程序中各个组件的载体,可以将...由于该窗体继承了JFrame类,所以它拥有最大化、最小化、关闭按钮等按钮,下面将详细介绍JFrame窗体java应用程序中的使用方法。 ...
  • Java 获取鼠标点击坐标

    万次阅读 2016-05-13 16:05:46
    Java 窗体的使用,获取鼠标右键点击的坐标,其中使用了匿名内部类import java.awt.FlowLayout; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent;import javax.swing.JFrame; import javax....
  • Java中的鼠标和键盘事件1、使用MouseListener借口处理鼠标事件鼠标事件有5种:按下鼠标键,释放鼠标键,点击鼠标键,鼠标进入和鼠标退出鼠标事件类型是MouseEvent,主要方法有:getX(),getY() 获取鼠标位置...
  • java窗体里的标签(图片标签)

    千次阅读 2020-10-28 23:12:10
    图片标签一、简单引导二、步骤流程图三、步骤详情(一)创建一个窗体1.源码A2.源码A运行效果(二)窗体里添加容器和标签1.源码B2.源码B运行效果(三)图片标签1.放置图片2.源码C3.源码C运行效果4.图片内容的补充说明...
  • Java中的Jframe窗体

    千次阅读 多人点赞 2018-08-23 12:02:28
    JFrame窗体的常用方法: 1、setTitle(“”);//设置窗体标题 ,直接输入标题字符串即可 2、setVisible();//设置窗体是否可见,true:可见,false:不可见 3、setDefaultCloseOperation();//设置窗体关闭方式,关闭...
  • //获得窗体宽int windowHeight = frame.getHeight();//获得窗体高Toolkit kit = Toolkit.getDefaultToolkit(); //定义工具包Dimension screenSize = kit.getScreenSize(); //获取屏幕的尺寸i...
  • //x,y,width,height, 坐标x,y,宽度,高度 //label1.setLocation(0,0); getContentPane().add(label1); //加入form中 image1 =new ImageIcon(filename1);//获取图片 image2 = new ImageIcon(filename2); label2...
  • 输出窗体坐标三、总的代码四、定位日期 一、相关说明 学习的内容接上一部分的内容,代码也是接着上一次的代码。 二、过程 窗体是一个容器,除此还可以在容器里面创建一个容器。 窗口和窗体是同个意思。 1.设置...
  • java swing开发窗体程序开发(一)GUI编程

    万次阅读 多人点赞 2019-04-05 21:37:27
    Java SWing就是java提供的一个类库专门用于开发窗体程序的,相对于C#的winform,java swing的开发要比C#更加麻烦,他不像C#拥有可视化的界面编辑工具 而是需要像QT一样纯代码式GUI编程。java的好处就是通用性强,跨...
  • 尽管可能,但可能会受到限制:为焦点事件添加一个AWTEventListener。只要您的应用在单击按钮之前就具有焦点,就会收到焦点丢失事件。然后查询指针位置。限制是,当然,您的...第一种方法的证明:import java.awt....
  • 在网上查了很多,很久发现都是getX()等常用的API方法,这些方法根本不能获取一个移动后的窗口的坐标获取的都是窗口的初始坐标。窗口移动后,他的坐标变化了,用这些方法是不能获取的。后来找高手在谷歌上用英文...
  • 将你的JPanel添加到JFrames contentPane,这样你就可以使用getX()和get()获得X和Y坐标,虽然我建议先添加所有组件,因为这些点可能随着更多组件的添加而变化,然后变为trashgod说只需在框架实例上调用pack().我做了一个...
  • Java可视化窗体

    2019-10-11 12:13:47
    Swing程序表示Java的客户端窗体程序,除了通过手动编写代码的方式设计Swing程序之外,Eclipse中还提供了一种WindowBuilder工具,该工具是一种非常好用的Swing可视化开发工具,有了它,开发人员就可以像Visual Studio...
  • Java窗体阻塞功能的实现

    千次阅读 2019-10-24 15:11:10
    Java
  • Lete乐特自制实用工具(Java EE - JDK1.8) ...把RGB、HEX值、坐标、合并到一起自己用的也方便。 XY.java package io.github.lete114.tools; import javax.swing.*; import java.awt.*; import java....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,231
精华内容 2,492
关键字:

java获取窗体坐标

java 订阅