Tag: mouselistener

如何在鼠标单击JTextField时清除JTextField

当鼠标在该文本字段中单击时,我需要使该程序清除文本字段中的文本。 我尝试了一些东西,但没有一个还没有为我工作。 以下是完整的代码: public class TimerClassPanel extends JFrame implements MouseListener{ public TimerClassPanel(){ setTitle(“Timer Class”); setSize(WIDTH, HEIGHT); timer = new Timer(DELAY, new TimerEventHandler()); pane = getContentPane(); pane.setLayout(null); int r = (int)(9.0 * Math.random()) + 1; String str2 = Integer.toString(r); label = new JLabel(str2, SwingConstants.CENTER); label.setSize(150,30); label.setLocation(0,0); textField = new JTextField(); textField.setSize(150,30); textField.setLocation(150,0); startB = new JButton(“Start”); […]

Java ImageIcons和actioin监听器

我正在创建一个简单的游戏,其中一个人点击图像,分数增加一。 看起来很简单吧? 这是捕获 – 图像将部分隐藏在其他图像后面! 目前,我正在使用几个imageIcons来设置我的场景。 例如,我的前景有一个图像“foreground.png”,我的背景是“background.png”,而隐藏在两者之间的图像是“hiding.png”。 我的第一个想法是简单地获取imageIcon的坐标隐藏,向它们添加height()和width(),并创建一个只能在指定区域中工作的鼠标监听器。 但是,这会给我一个矩形供用户点击,这会破坏隐藏对象的目的(有人可以点击前景后面图形的刚性边界)。 您对如何使鼠标动作侦听器仅在imageIcon的VISIBLE像素上有效有任何建议吗? 是的,我理解动作监听器只能应用于组件(例如按钮),但“按钮”不能完成我想要的项目。

MouseListener / KeyListener无法正常工作(JPanel)

我正在做一个涉及JPanel中的鼠标和关键监听器的小项目。 不幸的是,当我使用鼠标/键盘时,没有一个方法被调用。 之前我曾使用过JPanels / JFrame / JApplet和JComponents。 代码段如下所示: import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import java.io.File; import java.io.PrintWriter; import java.io.IOException; import java.io.FileNotFoundException; import java.awt.image.BufferedImage; import javax.imageio.ImageIO; import java.util.Scanner; public class Hello extends JPanel implements KeyListener, MouseListener{ JPanel panel = new JPanel(); JFrame frame = new JFrame(); public Hello(){ addKeyListener(this); addMouseListener(this); } public static […]

有没有办法将MouseListener添加到Graphic对象?

有没有办法将MouseListener添加到Graphic对象。 我有这个简单的GUI绘制椭圆形。 我想要的是当用户点击椭圆时处理事件 import java.awt.*; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.*; public class Gui2 extends JFrame { JFrame frame = new JFrame(); MyDrawPanel drawpanel = new MyDrawPanel(); public static void main(String[] args) { Gui2 gui = new Gui2(); gui.go(); } public void go() { frame.getContentPane().add(drawpanel); // frame.addMouseListener(this); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(300, 300); frame.setVisible(true); } } class MyDrawPanel […]

如何将一个鼠标监听器添加到JTable的单元格中,该单元格保持一个呈现为复选框的布尔值

我有一个JTable,其中实现了一个扩展AbstractTableModel的自定义模型。 public abstract class AbstractTable extends AbstractTableModel{ public Class getColumnClass(int c) {} } 因为我已经实现了getColumnClass方法,所以布尔值会像复选框一样呈现在表中。 我想截取复选框的状态更改,但不幸的是我不能直接添加鼠标监听器,因为我没有对复选框本身的引用,它不是由我创建的。 如何设置鼠标侦听器来拦截复选框状态更改事件? 编辑: @jzd的答案是对的。 我可以在setValue方法中捕获更改。 但我想知道如何实现基于鼠标监听器的方法。

鼠标运动监听器只在一个方向

我一直在研究Java中的鼠标运动监听器无法将其完全排序,因为我希望对象朝着鼠标所指向的屏幕方向移动但不幸的是当鼠标位于applet窗口内时,该对象只向单一方向移动。 这是我的代码如下.. import java.awt.*; import java.awt.geom.*; import java.util.*; import java.applet.*; import java.awt.event.*; import javax.swing.*; public class MouseOver extends Applet implements KeyListener, MouseListener, MouseMotionListener { private int[] Xpoints = { 0, -5, 5 }; private int[] Ypoints = { -10, -2, -2 }; private double xpos, ypos; private Polygon poly; int polyrot = 0; private int […]

hover在JButton上时出现奇怪的颜色变化

好的,这是我在想要使用透明度时偶然发现的一个问题。 所以改变hover背景的代码就是这个…… received.setMouseListener(new MouseAdapter() @Override public void mouseEntered(MouseEvent me) { received.setBackground(new Color(50,50,50,100)); } }); 一开始我为按钮设置了蓝色.. 这是显示颜色变化的GIF …… GifMeme09541718022016.gif https://drive.google.com/file/d/0B9XFyaTVy8oYci1zMmRhMmtYcnM/view?usp=docslist_api 为什么会这样? 如果这不是正确的方法,那么正确的方法是什么?

Java MouseListener

我有一堆JLabel,我想捕获鼠标点击事件。 目前我不得不使用: public void mouseClicked(MouseEvent arg0) { } public void mouseExited(MouseEvent arg0) { } public void mouseEntered(MouseEvent arg0) { } public void mousePressed(MouseEvent arg0) { } public void mouseReleased(MouseEvent arg0) { System.out.println(“Welcome to Java Programming!”); } 我想知道是否有一个更整洁的方式这样做,而不是有一堆我不希望陷阱的事件? 编辑: class MyAdapter extends MouseAdapter { public void mouseClicked(MouseEvent event) { System.out.println(event.getComponent()); } } 上述工作,但netBeans说添加@override anotation。 这是什么意思? 编辑:好的,明白了。 […]

如何为JLabel创建事件处理程序?

我想这样做,如果我点击JLabel,标签就会变成一个新标签,并附加另一个图像。 到目前为止我的代码看起来像: public class Picture extends JFrame { private ImageIcon _image1; private ImageIcon _image2; private JLabel _mainLabel; private JLabel _mainLabel2; public Picture(){ _image1 = new ImageIcon(“src/classes/picture1.jpg”); _image2 = new ImageIcon(“src/classes/picture2.jpg”); _mainLabel = new JLabel(_image1); _mainLabel2 = new JLabel(_image2); add(_mainLabel); pack(); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }

右键单击JButton

尝试将一个mouseAdapter添加到JButton以右键单击以标记该单元格。 问题是当我将它实例化到按钮上时,它不会让我。 也许是因为它上面已经有一个actionlistener? 我不太确定。 任何帮助表示赞赏。 我正在创造一个扫雷游戏,fyi。 button = new JButton[size][size]; ButtonListener bl = new ButtonListener(); for (int r = 0; r < size; r++) { for (int c = 0; c < size; c++) { button[r][c] = new JButton(""); button[r][c].addActionListener(bl); button[r][c].addMouseListener (new MouseAdapter());“ // error message: cannot instantiate the type MouseAdapter panel.add(button[r][c]); 最终如果有效,我想将其融入游戏中: button.addMouseListener(new MouseAdapter() […]