1、
int offsetX = 0, offsetY = 0;
public void mousePressed(MouseEvent e)
{
offsetX = e.getX();
offsetY = e.getY();
} public void mouseDragged(MouseEvent e)
{
offsetX = e.getX();
offsetY = e.getY();
int x += mouseX - offsetX;
int y += mouseY - offsetY;
setLocation(x, y);
}2、
public void paint(Graphics g)
{
g.drawString(getText(), 0, 0);
}
int offsetX = 0, offsetY = 0;
public void mousePressed(MouseEvent e)
{
offsetX = e.getX();
offsetY = e.getY();
} public void mouseDragged(MouseEvent e)
{
offsetX = e.getX();
offsetY = e.getY();
int x += mouseX - offsetX;
int y += mouseY - offsetY;
setLocation(x, y);
}2、
public void paint(Graphics g)
{
g.drawString(getText(), 0, 0);
}
{
offsetX = e.getX();
offsetY = e.getY();
int x += mouseX - offsetX;
int y += mouseY - offsetY;
setLocation(x, y);
}应该是:
public void mouseDragged(MouseEvent e)
{
mouseX = (int)e.getX();
mouseY = (int)e.getY();
int x = getLocation().x;
int y = getLocation().y;
x += mouseX - offsetX;
y += mouseY - offsetY;
setLocation(x, y);
}
public void mouseDragged(MouseEvent e)
{
mouseX = (int)e.getX();
mouseY = (int)e.getY();
int x = getLocation().x;
int y = getLocation().y;
x += mouseX ;
y += mouseY ;
setLocation(x, y);
}
这里mouseX,mouseY是什么意思?
int offsetX = 0, offsetY = 0;
public void mousePressed(MouseEvent e)
{
//保存鼠标移动前的位置
offsetX = e.getX();
offsetY = e.getY();
} public void mouseDragged(MouseEvent e)
{
//鼠标移动时的位置
int mouseX = (int)e.getX();
int mouseY = (int)e.getY(); //控件当前位置
int x = getLocation().x;
int y = getLocation().y;
//当前位置与位移相加,即是移动后的位置
x += (mouseX - offsetX);
y += (mouseY - offsetY);
setLocation(x, y);
}
对呢,第二个问题还没解决呢,好像按你这样也不行啊。
我在jToggleButton上写了几个字,只想让这几个字示出来,而背景隐藏掉!再言谢!!!
{ public void paint(Graphics g)
{
g.setColor(new Color(178, 178, 178));
g.drawString("testString", 5, 5);
}
};