<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_by_API%2Forg.eclipse.swt.dnd%2FDragSource</id>
		<title>Java by API/org.eclipse.swt.dnd/DragSource - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_by_API%2Forg.eclipse.swt.dnd%2FDragSource"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_by_API/org.eclipse.swt.dnd/DragSource&amp;action=history"/>
		<updated>2026-04-11T06:10:26Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_by_API/org.eclipse.swt.dnd/DragSource&amp;diff=833&amp;oldid=prev</id>
		<title> в 17:43, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_by_API/org.eclipse.swt.dnd/DragSource&amp;diff=833&amp;oldid=prev"/>
				<updated>2010-05-31T17:43:48Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 17:43, 31 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_by_API/org.eclipse.swt.dnd/DragSource&amp;diff=834&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_by_API/org.eclipse.swt.dnd/DragSource&amp;diff=834&amp;oldid=prev"/>
				<updated>2010-05-31T14:22:11Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== DragSource: addDragListener(DragSourceListener lis) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
import org.eclipse.swt.SWT;&lt;br /&gt;
import org.eclipse.swt.dnd.DND;&lt;br /&gt;
import org.eclipse.swt.dnd.DragSource;&lt;br /&gt;
import org.eclipse.swt.dnd.DragSourceAdapter;&lt;br /&gt;
import org.eclipse.swt.dnd.DragSourceEvent;&lt;br /&gt;
import org.eclipse.swt.dnd.DropTarget;&lt;br /&gt;
import org.eclipse.swt.dnd.DropTargetAdapter;&lt;br /&gt;
import org.eclipse.swt.dnd.DropTargetEvent;&lt;br /&gt;
import org.eclipse.swt.dnd.TextTransfer;&lt;br /&gt;
import org.eclipse.swt.dnd.Transfer;&lt;br /&gt;
import org.eclipse.swt.layout.FillLayout;&lt;br /&gt;
import org.eclipse.swt.widgets.Display;&lt;br /&gt;
import org.eclipse.swt.widgets.Shell;&lt;br /&gt;
import org.eclipse.swt.widgets.Table;&lt;br /&gt;
import org.eclipse.swt.widgets.TableColumn;&lt;br /&gt;
import org.eclipse.swt.widgets.TableItem;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] a) {&lt;br /&gt;
    final Display display = new Display();&lt;br /&gt;
    final Shell shell = new Shell(display);&lt;br /&gt;
    shell.setSize(250, 200);&lt;br /&gt;
    shell.setLayout(new FillLayout());&lt;br /&gt;
    Table table = new Table(shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);&lt;br /&gt;
    Transfer[] types = new Transfer[] { TextTransfer.getInstance() };&lt;br /&gt;
    DragSource source = new DragSource(table, DND.DROP_MOVE | DND.DROP_COPY);&lt;br /&gt;
    source.setTransfer(types);&lt;br /&gt;
    source.addDragListener(new DragSourceAdapter() {&lt;br /&gt;
      public void dragSetData(DragSourceEvent event) {&lt;br /&gt;
        DragSource ds = (DragSource) event.widget;&lt;br /&gt;
        Table table = (Table) ds.getControl();&lt;br /&gt;
        TableItem[] selection = table.getSelection();&lt;br /&gt;
        StringBuffer buff = new StringBuffer();&lt;br /&gt;
        for (int i = 0, n = selection.length; i &amp;lt; n; i++) {&lt;br /&gt;
          buff.append(selection[i].getText());&lt;br /&gt;
        }&lt;br /&gt;
        event.data = buff.toString();&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
    DropTarget target = new DropTarget(table, DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_DEFAULT);&lt;br /&gt;
    target.setTransfer(types);&lt;br /&gt;
    target.addDropListener(new DropTargetAdapter() {&lt;br /&gt;
      public void dragEnter(DropTargetEvent event) {&lt;br /&gt;
        if (event.detail == DND.DROP_DEFAULT) {&lt;br /&gt;
          event.detail = (event.operations &amp;amp; DND.DROP_COPY) != 0 ? DND.DROP_COPY : DND.DROP_NONE;&lt;br /&gt;
        }&lt;br /&gt;
        for (int i = 0, n = event.dataTypes.length; i &amp;lt; n; i++) {&lt;br /&gt;
          if (TextTransfer.getInstance().isSupportedType(event.dataTypes[i])) {&lt;br /&gt;
            event.currentDataType = event.dataTypes[i];&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      public void dragOver(DropTargetEvent event) {&lt;br /&gt;
        event.feedback = DND.FEEDBACK_SELECT | DND.FEEDBACK_SCROLL;&lt;br /&gt;
      }&lt;br /&gt;
      public void drop(DropTargetEvent event) {&lt;br /&gt;
        if (TextTransfer.getInstance().isSupportedType(event.currentDataType)) {&lt;br /&gt;
          DropTarget target = (DropTarget) event.widget;&lt;br /&gt;
          Table table = (Table) target.getControl();&lt;br /&gt;
          String data = (String) event.data;&lt;br /&gt;
          TableItem item = new TableItem(table, SWT.NONE);&lt;br /&gt;
          item.setText(new String[] { data });&lt;br /&gt;
          table.redraw();&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
    TableColumn column = new TableColumn(table, SWT.NONE);&lt;br /&gt;
    TableItem item = new TableItem(table, SWT.NONE);&lt;br /&gt;
    item.setText(new String[] { &amp;quot;A&amp;quot; });&lt;br /&gt;
    item = new TableItem(table, SWT.NONE);&lt;br /&gt;
    item.setText(new String[] { &amp;quot;B&amp;quot; });&lt;br /&gt;
    item = new TableItem(table, SWT.BORDER);&lt;br /&gt;
    item.setText(new String[] { &amp;quot;C&amp;quot; });&lt;br /&gt;
    column.pack();&lt;br /&gt;
    shell.open();&lt;br /&gt;
    while (!shell.isDisposed()) {&lt;br /&gt;
      if (!display.readAndDispatch())&lt;br /&gt;
        display.sleep();&lt;br /&gt;
    }&lt;br /&gt;
    display.dispose();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== new DragSource(Control control, int style) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
import org.eclipse.swt.SWT;&lt;br /&gt;
import org.eclipse.swt.dnd.DND;&lt;br /&gt;
import org.eclipse.swt.dnd.DragSource;&lt;br /&gt;
import org.eclipse.swt.dnd.DragSourceAdapter;&lt;br /&gt;
import org.eclipse.swt.dnd.DragSourceEvent;&lt;br /&gt;
import org.eclipse.swt.dnd.DropTarget;&lt;br /&gt;
import org.eclipse.swt.dnd.DropTargetAdapter;&lt;br /&gt;
import org.eclipse.swt.dnd.DropTargetEvent;&lt;br /&gt;
import org.eclipse.swt.dnd.TextTransfer;&lt;br /&gt;
import org.eclipse.swt.dnd.Transfer;&lt;br /&gt;
import org.eclipse.swt.layout.FillLayout;&lt;br /&gt;
import org.eclipse.swt.widgets.Display;&lt;br /&gt;
import org.eclipse.swt.widgets.Shell;&lt;br /&gt;
import org.eclipse.swt.widgets.Table;&lt;br /&gt;
import org.eclipse.swt.widgets.TableColumn;&lt;br /&gt;
import org.eclipse.swt.widgets.TableItem;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] a) {&lt;br /&gt;
    final Display display = new Display();&lt;br /&gt;
    final Shell shell = new Shell(display);&lt;br /&gt;
    shell.setSize(250, 200);&lt;br /&gt;
    shell.setLayout(new FillLayout());&lt;br /&gt;
    Table table = new Table(shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);&lt;br /&gt;
    Transfer[] types = new Transfer[] { TextTransfer.getInstance() };&lt;br /&gt;
    DragSource source = new DragSource(table, DND.DROP_MOVE | DND.DROP_COPY);&lt;br /&gt;
    source.setTransfer(types);&lt;br /&gt;
    source.addDragListener(new DragSourceAdapter() {&lt;br /&gt;
      public void dragSetData(DragSourceEvent event) {&lt;br /&gt;
        DragSource ds = (DragSource) event.widget;&lt;br /&gt;
        Table table = (Table) ds.getControl();&lt;br /&gt;
        TableItem[] selection = table.getSelection();&lt;br /&gt;
        StringBuffer buff = new StringBuffer();&lt;br /&gt;
        for (int i = 0, n = selection.length; i &amp;lt; n; i++) {&lt;br /&gt;
          buff.append(selection[i].getText());&lt;br /&gt;
        }&lt;br /&gt;
        event.data = buff.toString();&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
    DropTarget target = new DropTarget(table, DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_DEFAULT);&lt;br /&gt;
    target.setTransfer(types);&lt;br /&gt;
    target.addDropListener(new DropTargetAdapter() {&lt;br /&gt;
      public void dragEnter(DropTargetEvent event) {&lt;br /&gt;
        if (event.detail == DND.DROP_DEFAULT) {&lt;br /&gt;
          event.detail = (event.operations &amp;amp; DND.DROP_COPY) != 0 ? DND.DROP_COPY : DND.DROP_NONE;&lt;br /&gt;
        }&lt;br /&gt;
        for (int i = 0, n = event.dataTypes.length; i &amp;lt; n; i++) {&lt;br /&gt;
          if (TextTransfer.getInstance().isSupportedType(event.dataTypes[i])) {&lt;br /&gt;
            event.currentDataType = event.dataTypes[i];&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      public void dragOver(DropTargetEvent event) {&lt;br /&gt;
        event.feedback = DND.FEEDBACK_SELECT | DND.FEEDBACK_SCROLL;&lt;br /&gt;
      }&lt;br /&gt;
      public void drop(DropTargetEvent event) {&lt;br /&gt;
        if (TextTransfer.getInstance().isSupportedType(event.currentDataType)) {&lt;br /&gt;
          DropTarget target = (DropTarget) event.widget;&lt;br /&gt;
          Table table = (Table) target.getControl();&lt;br /&gt;
          String data = (String) event.data;&lt;br /&gt;
          TableItem item = new TableItem(table, SWT.NONE);&lt;br /&gt;
          item.setText(new String[] { data });&lt;br /&gt;
          table.redraw();&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
    TableColumn column = new TableColumn(table, SWT.NONE);&lt;br /&gt;
    TableItem item = new TableItem(table, SWT.NONE);&lt;br /&gt;
    item.setText(new String[] { &amp;quot;A&amp;quot; });&lt;br /&gt;
    item = new TableItem(table, SWT.NONE);&lt;br /&gt;
    item.setText(new String[] { &amp;quot;B&amp;quot; });&lt;br /&gt;
    item = new TableItem(table, SWT.BORDER);&lt;br /&gt;
    item.setText(new String[] { &amp;quot;C&amp;quot; });&lt;br /&gt;
    column.pack();&lt;br /&gt;
    shell.open();&lt;br /&gt;
    while (!shell.isDisposed()) {&lt;br /&gt;
      if (!display.readAndDispatch())&lt;br /&gt;
        display.sleep();&lt;br /&gt;
    }&lt;br /&gt;
    display.dispose();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>