OK, vấn đề này nằm ngoài giải đấu của tôi. Tôi đang cố gắng để thực hiện một widget GUI trong swing cho phép các tập tin được thả vào một JTable, và cho phép các hàng của JTable được kéo để sắp xếp lại. Hãy xem danh sách phát của VLC hoặc danh sách phát trong iTunes.JTable - kéo và thả
Tôi đã xóa tệp từ hệ điều hành (Trình khám phá, Trình tìm kiếm, v.v.) hoạt động tốt, nhưng tôi đang có một thời gian không thể sắp xếp lại các hàng của bảng, khi các tệp đang ở. khi tôi thêm một TransferHandler tùy chỉnh vào bảng, hãy kéo từ bảng sẽ bị giết ngay lập tức. Dưới đây là một số mã ví dụ:
import javax.swing.*;
public class TableTest
{
public static void main (String [] argv)
{
// setup table data
String [] columns = new String [] {"Foo", "Bar", "Baz", "Quux"};
String [][] data = new String [][] {{"A", "B", "C", "D"},
{"1", "2", "3", "4"},
{"i", "ii", "iii", "iv"}};
// create table
JTable table = new JTable(data, columns);
// set up drag and drop
table.setDragEnabled(true);
table.setDropMode(DropMode.INSERT_ROWS);
table.setFillsViewportHeight(true);
TransferHandler dnd = new TransferHandler() {
// here be code to handle drops, and one would
// presume drag exporting, too
};
table.setTransferHandler(dnd);
JScrollPane scroll = new JScrollPane(table);
// create and show window
JFrame window = new JFrame();
window.getContentPane().add(scroll);
window.pack();
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setVisible(true);
}
}
Run mã này như-là và bạn sẽ thấy rằng bạn không thể bắt đầu một kéo trên table.If bạn nhận xét ra các cuộc gọi đến setTransferHandler() trên bàn, kéo công trình (tức là, khi tôi bắt đầu kéo một hàng bảng, tôi nhận được con trỏ vòng tròn X'd ra nói rằng tôi không thể thả ở đó). Nhưng ngay khi một TransferHandler được đặt cho bảng, tôi không thể kéo bất kỳ hàng nào. Vấn đề phải được trong TransferHandler, nhưng tôi đã triệt để gỡ rối và gỡ lỗi nó, và đã xác định rằng kéo là không bao giờ bắt đầu một khi có một TransferHandler trên bàn. Tôi đang làm gì sai?
Làm thế nào lạ. Tôi có một vấn đề tương tự. Tôi đang cố gắng nhớ nếu tôi đã thực hiện bất kỳ công việc mà tôi đã có một bảng hỗ trợ cả hai kéo từ và đến. – willcodejavaforfood