Tag: 鼠标监听器

获取点击JPanel的颜色?

我只想要一个方法来激活,如果点击的像素是白色的。 我该如何实现? 试图寻找一种在coord上返回颜色的方法,但我找不到一个。

每次单击JList重新绘制JPanel

每次我点击一个JList项目,我需要清除+刷新我当前的面板并加载另一个面板,通过方法’populateWithButtons()’返回。 temp是一个int变量,用于存储在JList中单击的内容。 我如何纠正以下问题? list_1.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent evt) { //refresh + populate JPanel Food food = new Food(); JPanel panel2 = new JPanel(); JPanel pane11 = new JPanel(); panel2.add(panel1); panel1.validate(); panel1.repaint(); panel1.setBounds(153, 74, 281, 269); panel1.add(food.populateWithButtons(temp)); contentPane.add(panel2); }

如何移动放置在容器底部的最小化组件?

我在容器中有三个组件,其中有按钮。 当我点击最小化按钮时,组件最小化到容器的底部,当我点击最小化的组件时,它会被最大化。 假设三个组件位于底部,如果我最大化第二个组件,那么它将获得最大化,第三个最小化组件不会占据第二个组件的位置,这仍然是空间。 截图 package Project; import java.awt.Dimension; import java.awt.GridLayout; import java.awt.HeadlessException; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.beans.PropertyVetoException; import javax.swing.JButton; import javax.swing.JDesktopPane; import javax.swing.JFrame; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingUtilities; import javax.swing.plaf.basic.BasicInternalFrameTitlePane; import javax.swing.plaf.basic.BasicInternalFrameUI; public class Test2 { public Test2() throws HeadlessException, PropertyVetoException { createAndShowGUI(); } public static void main(String[] args) { SwingUtilities.invokeLater(new […]

如何创建一个带有两个图像的JPanel,其中鼠标hover时只显示下面一部分图像?

我正在尝试创建一个按钮面板,其中单击的按钮变为“不同颜色”; 即显示背景图像。 ps我只需要这种方法(有2张图片),而不是其他任何东西。 谢谢 ! 例如: public class TestPane extends JPanel { private BufferedImage imgUnclicked; private BufferedImage imgClicked; private Point mousePoint; public TestPane() { try { imgUnclicked = ImageIO.read(new File(“C:\\Users\\Me\\Desktop\\tmp\\Uncolored.png”)); imgClicked = ImageIO.read(new File(“C:\\Users\\Me\\Desktop\\tmp\\Colored.png”)); } catch (IOException ex) { Logger.getLogger(Spotlight.class.getName()).log(Level.SEVERE, null, ex); } addMouseMotionListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { mousePoint = e.getPoint(); […]

Java – Swing中的mouseMoved()事件处理

我想听听JFrame中的鼠标移动和点击。 为此,我添加了一个像这样实现的MouseListener 🙁 View类的完整代码位于https://gist.github.com/2837224,Board类位于https://gist.github.com/2837231 ) class BattleshipsFrame extends JFrame { private final Board playerBoard, opponentBoard; private View view; /** Main window constructor. */ BattleshipsFrame() { … … … //creating and displaying boards playerBoard = new Board(); opponentBoard = new Board(); PlayerBoardListener mouseListener = new PlayerBoardListener(); this.addMouseListener(mouseListener); playerBoard.addMouseListener(mouseListener); opponentBoard.addMouseListener(new OpponentBoardListener()); boards.add(playerBoard); boards.add(opponentBoard); … … … } […]

.drawLine()问题和缓冲图像

我有一个绘画程序,我已完成所有按钮和滑块,但我对实际绘画本身有问题。 当我将光标拖过屏幕而不是一条连续线时,我几乎得到了一条我不想要的虚线。 这是JPanel和BufferedImage MouseListener的代码: public void mouseDragged(MouseEvent e) { Graphics g=buffered.getGraphics(); g.setColor(mycol); Graphics2D graph=(Graphics2D)g; BasicStroke stroke=new BasicStroke(30); graph.setStroke(stroke); // g.fillRect(xcor, ycor, 20, 20); / /varx=e.getX(); ycor=e.getY(); xcor=e.getX(); int bad=xcor; int good=ycor; graph.drawLine(xcor, ycor, bad, good); // buffered.setRGB(xcor, ycor, mycol.getRGB()); repaint(); // g.drawLine(xcor, ycor, x, x) repaint(); }

拖动和调整未修饰的JFrame

目前,我正在使用以下代码来拖动和移动未解决的JFrame。 private void initialiseGUI(Component component){ // component.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { posX = e.getX(); posY = e.getY(); } }); component.addMouseMotionListener(new MouseAdapter() { public void mouseDragged(MouseEvent evt) { //sets frame position when mouse dragged Rectangle rectangle = getBounds(); getGUI().setBounds(evt.getXOnScreen() – posX, evt.getYOnScreen() – posY, rectangle.width, rectangle.height); } }); // } 我必须写什么,以便用户可以通过拖动侧面来像装饰窗口一样resize?