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 NIO APIÏê½â
ÔÚJDK
1.4ÒÔǰ£¬JavaµÄIO²Ù×÷¼¯ÖÐÔÚjava.ioÕâ¸ö°üÖУ¬ÊÇ»ùÓÚÁ÷µÄ×èÈû£¨blocking£©API¡£¶ÔÓÚ´ó¶àÊýÓ¦ÓÃÀ´Ëµ£¬ÕâÑùµÄAPIʹÓúܷ½
±ã£¬È»¶ø£¬Ò»Ð©¶ÔÐÔÄÜÒªÇó½Ï¸ßµÄÓ¦Óã¬ÓÈÆäÊÇ·þÎñ¶ËÓ¦Óã¬ÍùÍùÐèÒªÒ»¸ö¸üΪÓÐЧµÄ·½Ê½À´´¦ÀíIO¡£´ÓJDK 1.4Æð£¬NIO
API×÷Ϊһ¸ö»ùÓÚ»º³åÇø£¬²¢ÄÜÌṩ·Ç×èÈû(non-blo ......
Ê×ÏÈ£¬Ç¿ÁÒÍÆ¼öÄãÏȲο¼Sun¹Ù·½µÄJava´úÂë/±à³Ì¹æ·¶£º
http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html
Äã¿ÉÒÔ´òÆÆÒÔÉϵÄÈÎÒ»¹æÔò£¬²»¹ýÒ»¶¨ÒªÓиöºÃÀíÓÉ£¬²¢ÇҼǼÏÂÀ´¡£
ÓÀÔ¶£¬ÓÀÔ¶£¬ÓÀÔ¶²»ÒªÔÚûÓмǼ¶ÑÕ»¸ú×ÙÐÅÏ¢£¨stack trace£©»òÊÇÖØÐÂÅ׳öÒì³£µÄÇé¿öϲ¶»ñÒì³££¬Ë׳Ɠ³ÔµôÒì³£&rd ......
finalÀࣺΪ·ÀÖ¹ËûÈË´ÓÄãµÄÀàÉÏÅÉÉúÐÂÀ࣬´ËÀàÊDz»¿ÉÀ©Õ¹µÄ¡£
¡¡¡¡¶¯Ì¬µ÷ÓñȾ²Ì¬µ÷Óû¨·ÑµÄʱ¼äÒª³¤¡£
¡¡¡¡³éÏóÀࣺ¹æ¶¨Ò»¸ö»ò¶à¸ö³éÏó·½·¨µÄÀà±¾Éí±ØÐ붨ÒåΪabstract¡£
¡¡¡¡Àý£º public abstract string getDescripition
¡¡¡¡JavaÖеÄÿһ¸öÀà¶¼ÊÇ´ÓObjectÀàÀ©Õ¹¶øÀ´µÄ¡£
¡¡¡¡objectÀàÖеÄequalºÍtoString·½· ......
Ò»¡¢JAVA¡£ÒªÏë³ÉΪJAVA£¨¸ß¼¶£©¹¤³Ìʦ¿Ï¶¨ÒªÑ§Ï°JAVA¡£Ò»°ãµÄ³ÌÐòÔ±»òÐíÖ»ÐèÖªµÀһЩJAVAµÄÓï·¨½á¹¹¾Í¿ÉÒÔÓ¦¸¶ÁË¡£µ«Òª³ÉΪJAVA£¨¸ß¼¶£©¹¤³Ìʦ£¬ÄúÒª¶ÔJAVA×ö±È½ÏÉîÈëµÄÑо¿¡£ÄúÓ¦¸Ã¶àÑо¿Ò»ÏÂJDBC¡¢IO°ü¡¢Util°ü¡¢Text°ü¡¢JMS¡¢EJB¡¢RMI¡¢Ï̡߳£Èç¹û¿ÉÄÜ£¬Ï£ÍûÄú¶ÔJAVAµÄËùÓаü¶¼ä¯ÀÀһϣ¬ÖªµÀ´ó¸ÅµÄAPI£¬ÕâÑùÄú¾Í·¢ÏÖÆä ......
import java.io.*;
public class TestExe {
public static void main(String[] args) throws InterruptedException {
try {
Process child = Runtime.getRuntime().exec("C://Program Files//Sunyard//ImageInput//ImageInput.exe");
child.waitFor();
&n ......