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
相关文档:
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
BigDecimal类
双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。表5.7中列出了BigDecimal类的主要构造器和方法。
表5.7 BigDecimal类的主要构造器和方法
构造器描述
BigDecimal(in ......
熟悉C++的人对于两个字符串比较的代码一定很了解:
(string1==string2)
但在java中,这个代码即使在两个字符串完全相同的情况下也会返回false
Java中必须使用string1.equals(string2)来进行判断
补充
如果:
string s1=new String("Hello");
string s2=new String("Hello");
则(s1==s2)=false
如果 ......
最近找工作做笔试题发现很重要,就自己写了一点,和大家分享
import java.util.Stack;
import java.util.HashMap;
public class BinTree {
private char date;
private BinTree lchild;
private BinTree rchild;
public BinTree(char c) {
date = c;
}
// 先序遍历递归
public static void preOrder(Bi ......
在编程的时候,经常遇到要判断一个字符串中的字符是否是数字(0-9)
下面我给大家介绍几种实现方法
1.使用Character.isDigit(char)判断
String str = "123abc";
if (!"".equals(str)) {
char num[] = str.toCharArray();//把字符串转换为字符数组
StringBuffer title = new StringBuffer();//使用S ......