Tag: 拖动

Java应用程序:mouseDragged事件通常不会被执行

是否有一种方法可以更频繁地调用mouseDragged Event(在我的情况下,绘制一个颜色?我需要它用于平滑绘图,因为现在,如果你移动得太快,它不会绘制我的所有路径。此外,我有一个2D数组存储像素的颜色,所以如果我试图通过另一种方式解决问题也有问题,这就是为什么我认为增加mouseDragged Frequency将是最好的事情做 谢谢

Java Swing JScrollPane行号故障

我在JScrollPane中有一个简单的JEditorPane,它在左侧显示行号。 除非您将窗口移出屏幕并再次将其拉回,否则它会很有效,当您停止拖动时它会看起来像这样: 有任何想法吗? 我是否需要监听移动/拖动事件并在某处调用重绘/重新validation? 认为它可能是显而易见的,但这里有一些代码。 我正在使用JSyntaxPane。 public EditorPanel() { this.setLayout(new BorderLayout()); PythonSyntaxKit.initKit(); codeEditor = new JEditorPane(); JScrollPane scrPane = new JScrollPane(codeEditor); Dimension d = new Dimension(710,702); codeEditor.setPreferredSize(d); codeEditor.setContentType(“text/python”); codeEditor.setText(“Welcome to PhysUtil!”); this.add(scrPane, BorderLayout.CENTER); toolbar = new PhysUtilToolbar(); this.add(toolbar, BorderLayout.PAGE_START); this.repaint(); } //from MainFrame Class… public EditorPanel mainEditor; public MainFrame() { //Someone can figure out how […]

拖动JPanel

我在尝试拖动JPanel时遇到了问题。 如果我纯粹在MouseDragged中实现它: public void mouseDragged(MouseEvent me) { me.getSource().setLocation(me.getX(), me.getY()); } 我得到了移动物体一直在两个位置之间弹跳的奇怪效果(产生更多“拖动”事件)。 如果我按照这篇文章中描述的方式进行,但是: public void mouseDragged(MouseEvent me) { if (draggedElement == null) return; me.translatePoint(this.draggedXAdjust, this.draggedYAdjust); draggedElement.setLocation(me.getX(), me.getY()); } 我得到的元素弹跳效果要少得多,但它仍然可见,元素只移动鼠标指针的一半。 为什么会发生这种情况/如何解决这种情况?

如何拖动对象

我想拖动一个框,我希望我的鼠标光标是我在拖动矩形时在矩形中单击的位置。 我试过这个代码,当我试图拖动时,我遇到了一堆错误。 import objectdraw.*; import java.awt.*; public class TouchWindow extends WindowController { private FilledRect a; private boolean b; private Location c; private int x; private int y; public void begin() { b=false; a=new FilledRect(0,0,50,50,canvas); } public void onMouseClick(Location pt) { if(a.contains(pt)) { b=true; pt=c; } } public void onMouseDrag(Location pt2) { if(b==true) { x=(int)c.getX()-(int)pt2.getX(); y=(int)c.getY()-(int)pt2.getY(); […]

在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类。