标签: drag-and-drop

从Finder拖放到NSTableView怪异

我试图了解如何最好地将文件从Finder拖放到NSTableView,随后将列出这些文件.

我已经建立了一个小测试应用程序作为试验场.

目前,我有一个NSTableViewFileListController它的datasourse.它基本上是一个NSMutableArray File对象.

我正在尝试找出最佳/正确的方法来实现NSTableView的拖放代码.

我的第一种方法是继承NSTableView并实现所需的方法:

TableViewDropper.h

#import <Cocoa/Cocoa.h>

@interface TableViewDropper : NSTableView

@end
Run Code Online (Sandbox Code Playgroud)

TableViewDropper.m

#import "TableViewDropper.h"

@implementation TableViewDropper {
    BOOL highlight;
}

- (id)initWithCoder:(NSCoder *)aDecoder {
    self = [super initWithCoder:aDecoder];
    if (self) {
        // Initialization code here.
        NSLog(@"init in initWithCoder in TableViewDropper.h");
        [self registerForDraggedTypes:@[NSFilenamesPboardType]];
    }
    return self;

}

- (BOOL)performDragOperation:(id < NSDraggingInfo >)sender {
    NSLog(@"performDragOperation in TableViewDropper.h");
    return YES;
}


- (BOOL)prepareForDragOperation:(id)sender {
    NSLog(@"prepareForDragOperation called in TableViewDropper.h");
    NSPasteboard *pboard = [sender draggingPasteboard]; …
Run Code Online (Sandbox Code Playgroud)

cocoa drag-and-drop objective-c

2
推荐指数
1
解决办法
799
查看次数

如何通过拖放交换jtable中的单元格值

我想将我的表的数据从一个表交换到另一个表中的同一列(注意:我只有两列).

我的问题是我无法交换价值.此外,我希望仅在同一列上启用交换,否则,表值将重置为其原始值.

这是我的代码:

    JTable table_1 = new JTable(model);
table_1.setPreferredScrollableViewportSize(new Dimension(300, 120));
table_1.setDragEnabled(true);  
table_1.setDropMode(DropMode.USE_SELECTION);  
table_1.setTransferHandler(new TransferHelper()); 
table_1.setRowSelectionAllowed(false);
table_1.setCellSelectionEnabled(true);
Run Code Online (Sandbox Code Playgroud)

我的TransferHelper类:

class TransferHelper extends TransferHandler {  

    private static final long serialVersionUID = 1L;

    public TransferHelper() {  
    }  

    @Override  
    public int getSourceActions(JComponent c) {  
        return MOVE;  
    }  

    @Override  
    protected Transferable createTransferable(JComponent source) {  
        String data = (String) ((JTable) source).getModel().getValueAt(((JTable) source).getSelectedRow(), ((JTable) source).getSelectedColumn());
        return new StringSelection(data);  
    }  

    @Override  
    protected void exportDone(JComponent source, Transferable data, int action) {  
        ((JTable) source).getModel().setValueAt("", ((JTable) source).getSelectedRow(), ((JTable) source).getSelectedColumn());  
    }  

    @Override …
Run Code Online (Sandbox Code Playgroud)

java swing drag-and-drop

2
推荐指数
1
解决办法
2144
查看次数

删除的zip文件会导致e.Data.GetData(“ FileContents”)引发异常

我正在尝试在WPF应用程序中为从zip存档中拖动的文件实现处理程序。处理程序应获取文件内容以进行进一步处理。

我的环境:Windows7,已安装7-zip,Visual Studio 2012 Express,.Net 4.5

这是一个简单的MainWindow应用程序的代码来演示该问题:

public partial class MainWindow : Window
{
  public MainWindow()
  {
    InitializeComponent();
    AllowDrop= true;
    Drop += onDrop;
  }

  private void onDrop(object sender, DragEventArgs e)
  {
    if (e.Data.GetDataPresent("FileContents"))
    {
      var fileContents = e.Data.GetData("FileContents");
      //get file contents...
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

当我将zip存档中包含的文件拖到我的Window时,对e.Data.GetData(“ FileContents”)的调用将引发System.ArgumentException(“ Argument out of Range”),并带有以下调用堆栈:

System.Windows.DataObject.OleConverter.GetDataInner(formatetc, medium)  
System.Windows.DataObject.OleConverter.GetDataFromOleHGLOBAL(format, aspect, index) 
System.Windows.DataObject.OleConverter.GetDataFromBoundOleDataObject(format, aspect, index) 
System.Windows.DataObject.OleConverter.GetData(format, autoConvert, aspect, index)  
System.Windows.DataObject.OleConverter.GetData(format, autoConvert) 
System.Windows.DataObject.GetData(format, autoConvert)  
System.Windows.DataObject.GetData(format)   
TestZip.MainWindow.onDrop(sender, e) Zeile 34   C#
Run Code Online (Sandbox Code Playgroud)

我已经查看了此OleConverter的源代码(http://reflector.webtropy.com/default.aspx/Dotnetfx_Win7_3@5@1/Dotnetfx_Win7_3@5@1/3@5@1/DEVDIV/depot/DevDiv/发布/ Orcas / NetFXw7 / wpf / …

.net c# wpf zip drag-and-drop

2
推荐指数
1
解决办法
2045
查看次数

JTabbedPane之间的间距

在此JTabbedPane屏幕截图中

屏幕截图

我正在使用Netbeans的DnD,并且一直在修改它,只是在选项卡之间放置空格。到目前为止,我仍然无法获得想要的东西。

有办法吗?

java swing netbeans drag-and-drop jtabbedpane

2
推荐指数
1
解决办法
1009
查看次数

Qt,C++:QListWidget内部拖放 - 如何连接信号?

我使用Qt用C++编写,我有一个列表小部件.

我启用了内部拖放功能,使用:

list->setDragDropMode(QAbstractItemView::InternalMove);
Run Code Online (Sandbox Code Playgroud)

我应该怎么做才能捕捉到这样一个拖放动作完成的信号?

谢谢!

c++ qt drag-and-drop

2
推荐指数
1
解决办法
1296
查看次数

为什么我会收到InvalidDnDOperationException?

对不起; 我不喜欢问"我为什么会这样exception?" 关于StackOverflow的问题(现在我想起来有点讽刺......),但我无法弄清楚这个异常的原因!我已经搜索了一个解决方案,但是那些弹出的是要么是一个微妙的异常,当人们试图访问Transferrable事件处理程序的外部,或者根本没有回答.

我正试图在DropTargetListener#drop(DropTargetListener)方法中做到这一点.我正在通过从运行程序的同一驱动器中拖动PNG来测试这一点,这让我觉得数据随时可用.我的相关代码和结果异常如下:

(为简洁起见,缩短了注释中的行号,=>如果是错误行,则后跟其中)

        // package declaration
        // imports

/*45 */ public class BHFileChooser extends JComponent implements DropTargetListener
/*46 */ {
            // object declaration 

            ...

            // initialization methods

            ...

/*186*/     @Override
/*187*/     public void dragEnter(DropTargetDragEvent dtde)
/*188*/     {
/*189*/         setState(State.EVALUATING);
/*190*/         setState(canAccept(dtde.getTransferable()) ? State.EVALUATED_ACCEPTABLE : State.EVALUATED_UNACCEPTABLE);
/*191*/         validate();
/*192*/     }
/*193*/ 
/*194*/     @Override
/*195*/     public void dragExit(DropTargetEvent dte)
/*196*/     {
/*197*/         setState(State.WAITING); …
Run Code Online (Sandbox Code Playgroud)

java swing drag-and-drop exception

2
推荐指数
1
解决办法
1200
查看次数

jQuery UI拖放捕捉到中心

我需要一点帮助.我需要一个蓝色圆圈,一个红色圆圈,一个蓝色方块和一个红色方块.我需要将红色圆圈拖到红色正方形的中心,将蓝色圆圈拖到蓝色正方形的中心.除非我将其拖动到正确的位置,否则它应该恢复到原始位置.

这是我到目前为止:

$("#draggable, #draggable2").draggable({
    revert: 'invalid', snap: "#droppable2"
});

$("#droppable").droppable({
    accept: '#draggable'
});

$("#droppable2").droppable({
    accept: '#draggable2',
});
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/tM7cp/269/

我无法将圆圈定位到正方形的中心,我该怎么做?

javascript jquery drag-and-drop jquery-ui

2
推荐指数
1
解决办法
5132
查看次数

使用Jquery拖放,从放置的div中获取价值

我正在使用Jquery进行拖放。

我要制作要拖动的项目的简短JavaScript是:

$(".draggable").draggable();
Run Code Online (Sandbox Code Playgroud)

我的简短JavaScript可以拖放区域是:

$("#droppable").droppable();
Run Code Online (Sandbox Code Playgroud)

这是我的可拖动项简短的HTML代码:

 <div id="comItem[]" class="computerItem draggable">
    <img src="img/com.png" class="assetImg" alt="Computer Info" title="">
    <span id="owner[]" class="textLabel"></span>
    <span id="ipaddress[]" class="textLabel"></span>
 </div>
Run Code Online (Sandbox Code Playgroud)

有人知道如何从可放置区域中的放置项中获取值吗?我要创建放置物品的对象数组吗?

非常感谢。

html javascript css jquery drag-and-drop

2
推荐指数
1
解决办法
5656
查看次数

Primefaces Draggable Drop Position

我需要获得可拖动面板的下降位置.但我无法弄清楚如何做到这一点.我试图获得这种风格,但我得到了无关的信息.

这是我的xhtml:

<h:form id="dnd">

   <p:panel id="draggable1" 
            style="z-index:1; width: 60px; height: 60px;">
       <h:outputText value="CAM-1" />
       <p:draggable for="draggable1" 
                    revert ="false"/>
   </p:panel>

   <p:panel id="droppable" 
            style="z-index:1; width: 600px; height: 600px;">
      <p:droppable for="droppable"> 
          <p:ajax listener="#{myBean.onDrop}" />
      </p:droppable>
   </p:panel>

</h:form>
Run Code Online (Sandbox Code Playgroud)

这是我的支持bean:

public void onDrop(DragDropEvent dragDropEvent) {
    String dragId = dragDropEvent.getDragId();

    UIComponent draggedItem = FacesContext.getCurrentInstance().getViewRoot().findComponent(dragId);

    System.out.println(draggedItem.getClientId());
    Panel draggedPanel = (Panel) draggedItem;

    String style = draggedPanel.getStyle();
    System.out.println(style);

    String styleClass = draggedPanel.getStyleClass();
    System.out.println(styleClass);
}
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.提前致谢.

jsf drag-and-drop primefaces

2
推荐指数
1
解决办法
5189
查看次数

通过拖放使用JavaFX,是否可以使拖动对象的重影跟随光标?

我一直在寻找使用Java进行拖放的示例,但是他们总是使用附加框的通用鼠标光标来指示正在拖动项目,而许多工具(甚至像Firefox这样的浏览器)会将拖动对象的重影附加到光标指示正在拖动的内容.可以在JavaFX中完成吗?

java drag-and-drop javafx-8

2
推荐指数
1
解决办法
3513
查看次数