Drag and Drop перестает работать после сериализации и десериализации в Java - PullRequest
0 голосов
/ 20 декабря 2011

Я занимаюсь разработкой приложения на Java. Структура кадра приложения выглядит следующим образом. Сначала у меня есть JFrame, который содержит панель. на панели у меня есть несколько JLists, а между Jlists я реализовал функцию перетаскивания Теперь каждый раз перед закрытием приложения я хочу сохранить содержимое пользовательского интерфейса. для которого я использую сериализацию и десериализацию, и я успешно реализовал это. После десериализации все вещи работают как положено, кроме перетаскивания. Я не получаю никаких ошибок, но обработчик перетаскивания не установлен для Jlists. Я попытался поместить некоторые операторы печати в обработчик перетаскивания и не получил результата. Кто-нибудь может сказать мне, что может быть причиной этого?

ниже приведено определение DnDhandler, которое я добавил к каждому компоненту Jlist

$private ListTransferHandler dndHandler = new ListTransferHandler();

и мой класс ListTranferHandler что-то вроде

$public class ListTransferHandler extends TransferHandler implements Serializable{

private static final long serialVersionUID = -3484014856820532284L;
//followed by all methods
    // canImport
    // createtranferable
    // getSourceActions
    // importData
    //exportDone
}

1 Ответ

0 голосов
/ 24 декабря 2011

Как правило, при работе с Swing, хотя различные компоненты являются Сериализуемыми, лучше , а не , чтобы сериализовать их напрямую.если вы хотите сохранить данные, сериализуйте данные, а не сами элементы свинга.

...