1.我在鼠标按下的时候获得图片。再mouseDragged里面怎么让图片跟着鼠标移动呢?
我是把JTable里面的一行数据生成图片
macroTable.addMouseListener(new MouseAdapter() { //对Jtable添加事件
public void mousePressed(MouseEvent evt) {
Point mousepoint = evt.getPoint();
getRowIndex = macroTable.rowAtPoint(mousepoint); //得到选中的行 Vector vec = defaultTableModel.getDataVector();
for (int i = 0; i < vec.size(); i++) {
if (i == getRowIndex) {
if (vec.get(i) == null && "".equals(vec.get(i))) {
return;
}
object = vec.get(i);
}
}
imageIcon = fontChangeImage(object.toString()); //把行数据生成图片
} @Override
public void mouseDragged(MouseEvent e) {
// 这个里面该怎么处理。 不明白
}
}
我是把JTable里面的一行数据生成图片
macroTable.addMouseListener(new MouseAdapter() { //对Jtable添加事件
public void mousePressed(MouseEvent evt) {
Point mousepoint = evt.getPoint();
getRowIndex = macroTable.rowAtPoint(mousepoint); //得到选中的行 Vector vec = defaultTableModel.getDataVector();
for (int i = 0; i < vec.size(); i++) {
if (i == getRowIndex) {
if (vec.get(i) == null && "".equals(vec.get(i))) {
return;
}
object = vec.get(i);
}
}
imageIcon = fontChangeImage(object.toString()); //把行数据生成图片
} @Override
public void mouseDragged(MouseEvent e) {
// 这个里面该怎么处理。 不明白
}
}
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import java.net.URL;
import javax.swing.BorderFactory;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;public class ImageMove {
static int x,y;
public static void main(String[] args) throws Exception{
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.getContentPane().setLayout(null);//这个要设置成 null
//图标
Icon icon = new ImageIcon(new URL("http://img.baidu.com/img/logo-zhidao.gif"));
// Icon icon = new ImageIcon("c:/logo-zhidao.gif");//本地图片文件
JLabel l = new JLabel(icon);
l.setSize(icon.getIconWidth(),icon.getIconHeight());
l.setBorder(BorderFactory.createLineBorder(Color.red));
f.getContentPane().add(l);
f.setVisible(true);
l.addMouseListener(new MouseAdapter(){
public void mousePressed(MouseEvent e){
x=e.getX();y=e.getY();
}
});
l.addMouseMotionListener(new MouseMotionListener(){
public void mouseDragged(MouseEvent e) {
JLabel l = (JLabel)e.getSource();
l.setLocation(l.getX()+e.getX()-x,l.getY()+e.getY()-y);
}
public void mouseMoved(MouseEvent e) {}
});
}
}