我想获取我在面板上拖动的组件的x和在JTextField中绑定的文本,那么我该如何通过代码来实现呢?
首先我用这个方法得到我拖动的组件的x
public void get_locationX (MouseEvent e)
{
int x = e.getComponent().getX();
x_txt.setText(String.valueOf(x));
}
然后使此事件检测何时拖动组件
Component[] c = design_panel.getComponents();
for (int i = 0 ; i < c.length ; i++)
{
c[i].addMouseListener(new MouseAdapter() {
@Override
public void mouseDragged(MouseEvent e) {
get_locationX(e);
}
});
}
但是当我运行代码并拖动组件时,没有任何事情发生
答案 0 :(得分:1)
我通过coomponentListener解决它
这是我编辑后的代码
public void get_locationX(ComponentEvent e)
{
int x = e.getComponent().getX();
x_txt.setText(String.valueOf(x));
}
然后
for (int i = 0 ; i < c.length ; i++)
{
c[i].addComponentListener(new ComponentAdapter() {
@Override
public void componentMoved(ComponentEvent e) {
get_locationX(e);
}
});
}