gpt4 book ai didi

java - 如何使用 Swings 在 Java Paint 中的选定区域中执行鼠标单击操作

转载 作者:行者123 更新时间:2023-12-02 08:30:44 25 4
gpt4 key购买 nike

import java.awt.*;
import java.awt.image.*;
import javax.swing.*;
import java.awt.event.*;
public class MouseAct extends JFrame{
public static void main(String args[]){
MouseAct M= new MouseAct();
M.paint1();
}
public void paint1(){
setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
setSize(640,480); //
show();
}
public void paint( Graphics g ){
super.paint(g);
Graphics2D g2=(Graphics2D)g;

g.setColor(Color.black);
g.fillRect(1,1,638,478);
g.setColor(Color.white);
g.drawRect(1,1,638,478);
g.drawRect(100,100,100,100);
MouseListener l = new MouseAdapter() {
public void mousePressed(MouseEvent e) {
MouseAct b = (MouseAct)e.getSource();
System.out.println("source="+e.getSource());
// b.setSelected(true);
b.repaint();
}

public void mouseReleased(MouseEvent e) {
MouseAct b = (MouseAct)e.getSource();
// b.setSelected(false);
b.repaint();
}
};
}
// public void setSelected(){

}

最佳答案

(1) 不要在绘制方法中创建 Mouselistener - 现在您在每次重绘时创建一个新的。 paint1() 内部会是一个更好的地方

(2) 将监听器添加到 MouseAct 对象。然后,只要在指针位于框架“上方”时按下鼠标按钮,就会调用它。

public void paint1(){
setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
setSize(640,480);
MouseListener l = new MouseAdapter() { ... } // add your code here
addMouseListener(l); // this 'activates' the listener
show();
}

关于java - 如何使用 Swings 在 Java Paint 中的选定区域中执行鼠标单击操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3438956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com