java dnd,java dnd

编程入门 行业动态 更新时间:2024-10-23 21:39:26

<a href=https://www.elefans.com/category/jswz/34/1770091.html style=java dnd,java dnd"/>

java dnd,java dnd

dnd是drag and drop的缩写.

java中的dnd主要涉及到3个类:TransferHandler(用来处理数据的拖放过程),Transferable(用来包装拖放的数据),和DataFlavor(用来表示拖放的数据的类型).下面来介绍这3个类的方法

1.javax.swing.TransferHandler

它有两个构造函数:

TransferHandler() 子类的便捷构造方法。

TransferHandler(String property) 构造一个通过剪贴板或拖放操作可以将 Java Bean 属性从一个组件传输到另一个组件的传输处理程序。

如,JLabel和JTextField都有text这个属性,所以可以很简单地实现从JTextField里拖文本到JLabel里,改变它的文本.下面是一个例子

在textField里输入文本后,往label里拖,label的文本就变为textField里的文本了.如果要实现从label往textField里拖,还要另外的方法,先不说

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

import javax.swing.event.*;

class LabelDnd

{

JFrame mainFrame;

JPanel mainPanel;

JLabel label;

JTextField textField;

public LabelDnd() {

mainFrame = new JFrame (  );

mainPanel = new JPanel ( new BorderLayout() );

label = new JLabel ("label");

//这里调用了TransferHandler的第二个构造函数,参数是一个Java Bean 属性

label.setTransferHandler( new TransferHandler("text") );

textField = new JTextField(20);

//打开textField自带的拖放功能

textField.setDragEnabled( true );

mainPanel.add( label,BorderLayout.PAGE_START );

mainPanel.add( textField,BorderLayout.PAGE_END  );

mainFrame.getContentPane().add( mainPanel );

mainFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );

mainFrame.pack();

mainFrame.setLocationRelativeTo(null);

mainFrame.setVisible( true );

}

public static&nb

更多推荐

java dnd,java dnd

本文发布于:2024-02-27 08:52:20,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1705935.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:java   dnd

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!