Я разрабатываю приложение Java. Структура кадра приложения следующая. Сначала у меня есть JFrame, который содержит панель. в панели у меня есть несколько JLists, и между Jlists я реализовал функцию Drag and Drop. Теперь каждый раз перед закрытием приложения я хочу сохранить содержимое пользовательского интерфейса. для которого я использую сериализацию и десериализацию, и я успешно ее реализовал. После десериализации все работает так, как ожидалось, кроме перетаскивания. Я не получаю никаких ошибок, но обработчик перетаскивания не установлен для Jlists. Я попытался поместить некоторые операторы печати в обработчик перетаскивания и не получил никакого результата. Может ли кто-нибудь сказать мне, что может быть возможной причиной для этого?Drag and Drop перестает работать после сериализации и десериализации в Java
следующее определение 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
}
Угадайте, я сначала искал места в вашем коде, где есть ==, а не .equals(). Вы сделаете себе одолжение, создавая наименьшую часть компилируемого, автономного кода, который вы можете воспроизвести ошибку. Люди могут помочь вам с этой информацией. –
Хотя я решил проблему, сериализуя содержимое и избегая сериализации компонентов пользовательского интерфейса, все же я отправлю пример кода, который может сделать проблему ясной, чтобы можно было идентифицировать фактическую проблему –