ตัวอย่างการใช้งาน Java ของการลากและวาง
ฟังก์ชั่นการลากและวางถูกนำมาใช้ใน Swing รหัสนั้นง่ายมากและมีความคิดเห็น ดูด้วยตัวคุณเอง
คัดลอกรหัสรหัสดังต่อไปนี้:
แพ็คเกจคอม;
นำเข้า java.awt.*;
นำเข้า java.awt.datatransfer.DataFlavor;
นำเข้า java.awt.dnd.DnDConstants;
นำเข้า java.awt.dnd.DropTarget;
นำเข้า java.awt.dnd.DropTargetAdapter;
นำเข้า java.awt.dnd.DropTargetDropEvent;
นำเข้า java.io.File;
นำเข้า java.util.List;
นำเข้า javax.swing.*;
-
* ตัวอย่างโค้ด Java แบบลากและวางที่ง่ายที่สุด
* @ผู้เขียน หลิว เซียนหนาน
* 24 มกราคม 2556
-
DragTest คลาสสาธารณะขยาย JFrame
-
แผง JPanel;//แผงสำหรับยอมรับการลากและวาง
DragTest สาธารณะ ()
-
แผง = JPanel ใหม่ ();
แผง setBackground (สี YELLOW);
getContentPane().add(แผง, BorderLayout.CENTER);
กำหนดขนาด(500, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
กำหนดตำแหน่ง (400, 200);
setTitle("ตัวอย่างการลากและวางที่ง่ายที่สุด: ลากและวางไฟล์ด้านล่าง (20130124)");
ลาก();//เปิดใช้งานการลากและวาง
-
โมฆะคงที่สาธารณะ main (String [] args) พ่นข้อยกเว้น
-
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");//ตั้งค่าสกิน
ใหม่ DragTest().setVisible(จริง);;
-
โมฆะสาธารณะลาก()//กำหนดวิธีการลาก
-
//แผงควบคุมแสดงถึงการควบคุมที่จะลากและวาง
DropTarget ใหม่ (แผง DnDConstants.ACTION_COPY_OR_MOVE, DropTargetAdapter ใหม่ ()
-
@แทนที่
การปล่อยโมฆะสาธารณะ (DropTargetDropEvent dtde) // เขียนวิธีการดรอปของอะแดปเตอร์ใหม่
-
พยายาม
-
if (dtde.isDataFlavorSupported(DataFlavor.javaFileListFlavor))//หากรองรับรูปแบบไฟล์ที่ลาก
-
dtde.acceptDrop (DnDConstants.ACTION_COPY_OR_MOVE); // รับข้อมูลที่ลาก
รายการ<ไฟล์> list = (รายการ<ไฟล์>) (dtde.getTransferable().getTransferData(DataFlavor.javaFileListFlavor));
สตริงอุณหภูมิ = "";
สำหรับ(ไฟล์ไฟล์:รายการ)
temp+=file.getAbsolutePath()+";/n";
JOptionPane.showMessageDialog(null, อุณหภูมิ);
dtde.dropComplete(true);//แสดงว่าการลากและวางเสร็จสมบูรณ์แล้ว
-
อื่น
-
dtde.rejectDrop(); // มิฉะนั้น ให้ปฏิเสธข้อมูลที่ลาก
-
-
จับ (ยกเว้น e)
-
e.printStackTrace();
-
-
-
-
-