【发布时间】:2018-03-09 04:12:51
【问题描述】:
我是这里的新手。我在这里有一个代码,我想将 JLabel 的文本更改为移动鼠标位置的文本。这是我的代码。
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
public class Draw extends JFrame{
int x;
int y;
String positions = "Positions: " + x + ", " + y;
JLabel positionsOnFrame = new JLabel(positions);
public class AL implements MouseMotionListener {
public void mouseMoved(MouseEvent e) {
x = e.getX();
y = e.getY();
}
public void mouseDragged(MouseEvent e) {
positions += " dragged.";
}
}
//Constructor
public Draw() {
setTitle("Title");
setBackground(Color.BLACK);
setSize(300, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
addMouseMotionListener(new AL());
add(positionsOnFrame);
setVisible(true);
}
public static void main(String[] args) {
new Draw();
}
}
附带问题:即使我在构造函数中将颜色设置为黑色,JFrame 也不会变黑。
鼠标问题有什么解决办法吗?什么都没发生!这些值只是设置为 0! (我没有初始化它们,它们只是自动设置为 0!)。 我们将不胜感激!
【问题讨论】:
-
对于颜色问题,请执行以下操作:getContentPane().setBackground(Color.BLACK);
-
感谢您与我分享解决方案,但为什么我们必须调用 getContentPane() 来设置背景?提前致谢!
标签: java mouse mousemotionlistener