Как я могу заставить MouseListener быть преходящим в java? Скажем, у меня есть:Java MouseListener transient
public class PanelClass extends JPanel implements Serializable{
private int w;
private int h;
public PanelClass(int w, int h){
this.w = w;
this.h = h;
this.setSize(w, h);
this.setBounds(0, 0, w, h);
}
}
public class MainPanel extends JPanel implements Serializable{
public MainPanel(){
setSize(500,500);
}
}
public class MyClass implements MouseListener, Serializable{
private ArrayList<PanelClass> panels = new ArrayList<>();
private MainPanel mp = new MainPanel();
for(PanelClass panel : panels){
panel.addMouseListener(this);
mp.add(panel);
}
private void serialize(){
//SERIALIZE MainPanel
}
}
Теперь, если я хочу, чтобы сериализовать MainPanel возвращает ошибку о GridLayout не Serializable.
Если я не добавлю MouseListener к панели, все ОК; будет сериализоваться.
Мне было интересно Если этот MouseListener можно установить как переходный и как?
Thank you.
Я озадачен. Вы хотите не сериализовать 'MouseListener'; но единственным «MouseListener» здесь является класс, который вы пытаетесь сериализовать, «MyClass». –
Извините, это был плохой пример. Я редактирую вопрос/код, надеюсь, этот пример будет лучше ... –