У меня есть приложение swing, в котором я показываю изображения в JPanel. Если приложение не может создать изображение, я хочу удалить предыдущий из JPanel и заменить его на JTextField и сообщение. Я могу добавить текстовое поле, но оно нарисовано поверх предыдущего содержимого, которое само является подклассом JPanel. Вот что у меня есть:
private void displayMessage(String message) {
JTextField tf = new JTextField(message);
cdPanel.removeAll();
cdPanel.add(tf, BorderLayout.NORTH);//tried lots of variations, inc. no layout
cdPanel.validate();
}
Как я могу заставить cdPanel полностью перерисовать себя?