Tag: 拖放

使用TransferHandler拖动JLabel(拖放)

我正在使用TransferHandler将数据从JPanel传递到JTextArea作为JLabel(单击左侧面板中的某个位置以创建要拖动的JLabel) 数据的传输工作正常,但我也想“显示”JLabel被拖动与鼠标指针一起。 如果你评论出来 dropLabel.setTransferHandler(new TransferHandler(“text”)); dropLabel.getTransferHandler().exportAsDrag(dropLabel, e, TransferHandler.COPY); 你会看到我希望它看起来如何。 (但当然数据不会被转移)。 如何让传输工作和JLabel跟随鼠标光标? 这是代码: import java.awt.*; import java.awt.datatransfer.Transferable; import java.awt.event.*; import javax.swing.*; import javax.swing.border.Border; public class DragTest extends JFrame implements MouseMotionListener, MouseListener { private JPanel leftPanel = new JPanel(null); private JPanel rightPanel = new JPanel(null); private JLabel dragLabel = new JLabel(“drop”); private final JWindow window = new […]

Swing:创建一个可拖动的组件……?

我在网上搜索了可拖动的Swing组件的例子,但我发现了不完整或不工作的例子。 我需要的是一个Swing组件 ,可以通过鼠标在其他组件内拖动 。 在被拖动时,它应该已经改变了它的位置,而不仅仅是“跳”到它的目的地。 我希望在没有非标准API的情况下工作的示例。 谢谢。

在Java中从JButton拖放到JComponent

我在互联网上搜索了如何将JButton拖放到对象的示例,但我无法使其工作。 我的程序所做的是,当我单击一个按钮时,该对象更新了一个字段(带有selectedobject.setField())。 我希望能够做到这一点,不是通过点击,而是通过拖动JButton。 我怎样才能做到这一点 ? 我找到了这个,我试着输入我的代码: btn.setTransferHandler(new ImageHandler()); btn.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { JComponent c = (JComponent)e.getSource(); TransferHandler handler = c.getTransferHandler(); handler.exportAsDrag(c, e, TransferHandler.COPY); } }); 我从这里拿了ImageHandler类。

在拖动列上显示列标题

我在GroupableHeader中实现代码并尝试启用允许重新排序但我有两个问题: 1:拖动列时,标题不会在列上看到 2:如何限制列的拖动区域以防止columnGroup的列退出 我不明白为什么标题在列拖动时看不到,我读了表头api但没有找到任何解决方案。 解决这些问题的任何想法?

如何设置优先级鼠标监听器

我有一个包含列表和按钮的面板。 列表使用mouseClick()设置MouseAdapter 。 我使用mousePressed()和mouseReleased()以及带有mouseDragged MouseMotionAdapter添加到面板mouseDragged 。 拖放仅在单击面板时有效。 即使我点击列表,如何使拖动工作? 简单的考试: public class DragTest extends JFrame{ private boolean drag; private Point btnCoord; private Point startPoint; public DragTest(){ setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); setSize(500,500); setLayout(null); final JPanel panel = new JPanel(); final JButton button = new JButton(); button.setText(“Button”); button.setSize(30,60); button.setLocation(50, 50); panel.setLayout(null); setContentPane(panel); panel.addMouseMotionListener(new MouseMotionAdapter() { @Override public void mouseDragged(MouseEvent e) { […]

如何从java中的目录拖放文件

我想实现从某个硬盘驱动器等目录中拖放文件,但无法弄清楚如何操作。 我已经阅读了java api,但它谈到了颜色选择器和列表之间的拖放,但是如何从计算机文件系统中拖动文件并放入我的应用程序。 我尝试编写transferhandler类和鼠标事件,以便在拖动开始时但似乎没有任何效果。 现在我回到刚刚设置了我的JFileChooser所以拖动已经启用但是如何放下? 正确方向的任何信息或点非常感谢。 import javax.swing.*; import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import javax.swing.BorderFactory; import javax.swing.DefaultListModel; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JList; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.SwingUtilities; import javax.swing.filechooser.FileFilter; public class FileChooserDemo extends JPanel implements ActionListener { JLabel selectedFileLabel; JList selectedFilesList; JLabel […]

添加textView到拖放界面 – Android / Java

我有一个gridView,我从以下教程/示例构建: Improved Drag-Drop for an Android GridView 原样 – 示例的源(可从下面的链接下载)允许用户拖放新的方形imageView并将其放在gridview中。 我现在想要完成的是能够创建一个可以拖放的textView(与imageView一起),实际上创建一个带有可以拖放的标题的文件夹。 到目前为止 – 我已经设法创建我自己的自定义(新的瓷砖等以及一个editText,点击成为textView)版本的gridView – 以及istantiated一个textView – 我似乎无法让它移动拖动时使用imageView。 /** * Interface defining an object that reacts to objects being dragged over and dropped onto it. * */ public interface DropTarget { /** * Handle an object being dropped on the DropTarget * * @param source DragSource […]

Java:mouseDragged并在图形界面中移动

新手程序员在这里。 我正在制作一个程序,用于在笛卡尔坐标系中呈现用户输入的方程。 目前我遇到一些让用户在坐标中自由移动视图的问题。 目前使用mouseDragged,用户可以稍微拖动视图,但是一旦用户释放鼠标并尝试再次移动视图,原点就会快速回到鼠标光标的当前位置。 让用户自由移动的最佳方法是什么? 提前致谢! 这是绘图区域的代码。 import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Point; import java.awt.Rectangle; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; import java.awt.geom.Line2D; import java.awt.geom.Point2D; import javax.swing.JPanel; public class DrawingArea extends JPanel implements MouseMotionListener { private final int x_panel = 350; // width of the panel private final int y_panel = 400; // […]

java拖放

我试着熟悉java中的拖放,但我找到的所有教程都是……(让我生气) 我想要的是从JList(包含在名为“UserPanel”的自制JPanel中)拖动“PublicUserLabel”并将其放入从JTabbedPanel无效的自制类中。 拖动对象本身而不是它的字符串表示非常重要! 这就是我到目前为止:PublicUserLabel public class PublicUserLabel extends JLabel implements DragSourceListener, DragGestureListener, Transferable { private DragSource ds; private PublicUser user; public PublicUserLabel(PublicUser user) { super(user.getName()); this.user = user; ds = new DragSource(); ds.createDefaultDragGestureRecognizer(this, DnDConstants.ACTION_COPY_OR_MOVE, this); } @Override public void dragGestureRecognized(DragGestureEvent e) { ds.startDrag(e, DragSource.DefaultCopyDrop, this, this); } @Override public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException […]