Java代码中,如何在静态(由static关键字修饰)方法或静态代码块中(static{})获取当前类的位置。。。

Java代码中,如何在静态(由static关键字修饰)方法或静态代码块中(static{})获取当前类的位置。。。,第1张

这是不可能的,static方法不隶属于任何类/对象,所以无从获取。static的内容由JVM统一管理,甚至都不在堆上

看了你的补充说明。如果是想知道本静态方法在哪个类被实现真的不可行,你的程序设计有错误。如果你是想读取工作目录下的一个文件,你只能知道改工作目录的磁盘路径,而文件名(类名)必须手工写明,无法自动获取。

mousefocus

XXXgetComponentAt(x, y)setBackground(c)

试试。。。 不保证可以。。

Java中的鼠标和键盘事件

使用MouseListener借口处理鼠标事件

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

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

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

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

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

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

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

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

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

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

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

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

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

使用MouseMotionListener接口处理鼠标事件

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

鼠标事件的类型是MouseEvent

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

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

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

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

控制鼠标的指针形状

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

键盘事件

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

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

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 statu ar = new JLabel();

static final long serialVersionUID= ;

public Mouse(){

setTitle( Mouse Event );

getContentPane() add(jp BorderLayout CENTER);

getContentPane() add(statu ar BorderLayout SOUTH);

jp addMouseListener(this);

}

public static void main(String[] args){

Mouse frame = new Mouse();

frame setSize( );

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+ ) + 处按下 ;

statu ar setText(s);

}

public void mouseReleased(MouseEvent e){

int x = e getX();

int y = e getY();

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

statu ar setText(s);

}

public void mouseClicked(MouseEvent e){

int x = e getX();

int y = e getY();

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

statu ar setText(s);

}

public void mouseEntered(MouseEvent e){

int x = e getX();

int y = e getY();

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

statu ar setText(s);

}

public void mouseExited(MouseEvent e){

int x = e getX();

int y = e getY();

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

statu ar 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= ;

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( );

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( );

key setVisible(true);

key setDefaultCloseOperation(JFrame DISPOSE_ON_CLOSE);

}

lishixinzhi/Article/program/Java/hx/201311/25830

如果你用的是Eclipse或MyEclipse,在代码的左边(就是有加号或减号,用于缩放代码的位置)点右键将Show Line Numbers打上对勾就可以看见行号了,文件名看包。

以上就是关于Java代码中,如何在静态(由static关键字修饰)方法或静态代码块中(static{})获取当前类的位置。。。全部的内容,包括:Java代码中,如何在静态(由static关键字修饰)方法或静态代码块中(static{})获取当前类的位置。。。、【Java-JFrame】求救丫,JFrame 中怎么获取当前鼠标所处位置的空间的对象、Java获取窗口鼠标坐标以及键盘按键等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9480280.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存