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´úÂëµÄÐÔÄÜÓÅ»¯£¬´ÓÍøÉÏËѵ½ÀûÓÃfinal¹Ø¼ü×Ö½øÐбàÒëʱinlineÓÅ»¯µÄ·½·¨£¬µ«ÊÇÕæµÄÓÐЧÂð£¿Êµ¼Ê²âÊÔÖз¢ÏÖδ±Ø£¬ÉõÖÁÐÔÄÜÓ°Ïì¾Þ´ó£¬×îÖÕ·ÅÆúÁËʹÓÃfinalÓÅ»¯µÄÏë·¨¡£
¡¡¡¡²âÊÔ»·¾³£ºWindows XP SP2£¬JDK 1.6.0_15-b03£¬Eclipse 3.5 SR1¡£
package test;
public class Test {
public static void main(St ......
JAVA
ѧϰ±Ê¼Ç£¨Ò»£©£º
JAVA
Ìåϵ¼°Æä±à³ÌµÄ¹ý³Ì
°¥£¬±ÏÒµÁËÒ²Ò»¶Îʱ¼äÁË£¬Ö»ÖªµÀÌìÌì³´úÂ룬
JAVA
µÄ»ù´¡ÖªÊ¶»ù±¾ÊÇÍüµôÁË£¬¼ÓÉÏÒÔǰһֱûÓÐϵͳµØÑ§Ï°¹ý£¬¸Ð¾õ¿ìÒª·ÏÁË¡£»¹ÊǺúþ²ÏÂÐÄÀ´Ñ§Ñ§»ù´¡°É¡£²»ÄÜÌìÌ쿼³´úÂë¹ýÈÕ×Ó°¡¡£¡£¡£¡££¨ÏÂÎÄ´ó¶àÀ´×Կα¾ÒÔ¼°Ò»Ð©¼¼ÊõÊÓÆµÉϵÄÄÚÈÝ£¬»ù±¾Àí½âÁËһЩÁË£¬Ê ......
¶¨ÒåÔÚÒ»¸öÀàÄÚ²¿µÄÀà½ÐÄÚ²¿À࣬°üº¬ÄÚ²¿ÀàµÄÀà³ÆÎªÍⲿÀà¡£
ÄÚ²¿Àà¿ÉÒÔÉùÃ÷public¡¢protected¡¢privateµÈ·ÃÎÊÏÞÖÆ£¬
¿ÉÒÔÉùÃ÷ΪabstractµÄ¹©ÆäËûÄÚ²¿Àà»òÍⲿÀà¼Ì³ÐÓëÀ©Õ¹£¬
»òÕßÉùÃ÷Ϊstatic¡¢finalµÄ£¬Ò²¿ÉÒÔʵÏÖÌØ¶¨µÄ½Ó¿Ú¡£
staticµÄÄÚ²¿ÀàÐÐΪÉÏÏóÒ»¸ö¶ÀÁ¢µÄÀ࣬
·ÇstaticÔÚÐÐΪÉÏÀàËÆÀàµÄÊôÐÔ»ò·½·¨ÇÒ½ûÖ¹ÉùÃ÷s ......
µ¥Àýģʽ£¬¹ËÃû˼Ò壬ֻÄÜÓÐÒ»¸öʵÀý¡£
Ò».´Ó¶àḬ̈߳²È«ËµÆð£¬ÈçÏÂͼ´úÂ룬´ËÎÊÌâ¿ÉÒÔÓÃsynchronized¹Ø¼ü×ÖÀ´½â¾ö¡£¸Ã·½·¨È±µã£ºÃ¿Ò»¸öÏß³ÌÔÚ»ñȡʵÀý¶ÔÏó֮ǰ¶¼ÒªÔÚsynchronizedÉÏͬ²½µÄ¶ÔÏóÉϽøÐеȴý£¬Òò´ËЧÂʲ»¸ß¡£
¶þ.Double Check·½·¨£¬¼ûÏÂͼ´úÂë¡£Double CheckµÄ³õÖÔÊÇÖ»Óе±instanceΪNULLʱִÐеÄÏ̲߳ÅÐèÒªÔÚ ......
ÕýÔò±í´ïʽÊÇ×Ö·û´®´¦ÀíµÄÖÕ¼«ÎäÆ÷£¬±¾ÎÄÒÔÒ»¸ö¾ßÌåÌâÄ¿¼ò½éjava¶ÔÕýÔò±í´ïʽµÄÖ§³Ö¡£
ÌâÄ¿£º½«Ò»¸ö×Ö·û´®ÖеÄÐÎÈçhref=“XXXX”ºÍsrc=“XXXX”µÄ²¿·ÖÈ¡³ö£¬´òÓ¡¡£
´¦ÀíÕýÔò±í´ïʽÖ÷ÒªÓõ½java.util.regex.MatcherºÍjava.util.regex.PatternÁ½¸öÀà¡£
\\²âÊÔÓõÄ×Ö·û´®
String source= "...href=\" ......