小编jjj*_*jjj的帖子

拖动屏幕周围的jlabel

所以我试图在JFrame周围单击并拖动JLabel.以下代码允许在屏幕上的任何位置按下/拖动鼠标时在屏幕上移动JLabel,但我不知道如何添加第二个ActionListener以检查鼠标是否在标签上单击,假设是解决方案.

我想在屏幕上有多个JLabel,以便移动的唯一标签是鼠标单击并正在拖动的标签.

谢谢.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

@SuppressWarnings("serial")
public class test extends JFrame implements MouseMotionListener {

private JPanel panel = new JPanel(null);    
private JLabel dragLabel = new JLabel("drag test");
private int mouseX = 200;
private int mouseY = 200;

public test() {
    this.add(panel);
    panel.setBackground(Color.WHITE);
    panel.add(dragLabel);
    dragLabel.setForeground(Color.RED);
    dragLabel.setBounds(mouseX, mouseY, 100, 50);
    panel.addMouseMotionListener(this);
}

@Override
public void mouseDragged(MouseEvent e) {
    mouseX = e.getX();
    mouseY = e.getY();
    dragLabel.setBounds(mouseX, mouseY, 100, 50);
}

@Override
public void mouseMoved(MouseEvent e) {}

public static void …
Run Code Online (Sandbox Code Playgroud)

java swing jlabel

8
推荐指数
2
解决办法
1万
查看次数

JLabel点击事件

如果你们两个都有两个JLabels JFrame同时添加了相同的MouseListener点击事件,那么如何JLabel在不创建第二个actionlistener的情况下判断哪个被点击了?

注意:两个标签上都写有相同的文字,因此不能用来区分它们.

java swing

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

java ×2

swing ×2

jlabel ×1