mauvais rafraichissement d'une JTextArea
Bonjour! :salut:
J'ai utilisé la classe JTextAreaOutputStream proposée par Glob (merci à lui! http://java.developpez.com/sources/?...eamToJTextArea)
et j'ai suivi ses instructions pour rediriger les flux de la console vers une JFrame:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
JFrame consoleDisplay = new JFrame("Console");
JTextArea myConsole = new JTextArea();
myConsole.setEditable(false);
JTextAreaOutputStream outStream = new JTextAreaOutputStream(myConsole);
JTextAreaOutputStream errStream = new JTextAreaOutputStream(myConsole);
System.setOut(new PrintStream(outStream));
System.setErr(new PrintStream(errStream));
JScrollPane scrollBars = new JScrollPane(myConsole,
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
consoleDisplay.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
consoleDisplay.getContentPane().add(scrollBars);
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
int a = (int) (screen.width*(60./100.));
int b = (int) (screen.height*(30./100.));
consoleDisplay.setSize(a, b);
consoleDisplay.setLocation((int) a/10, (int) b/10);
consoleDisplay.setVisible(true); |
Tout marche bien... excepté lorsque je réduit la JFrame ou que je fais passer une autre fenêtre devant elle: quand je reviens sur la JFrame, la zone de texte est vide, et les scroll bars ne sont pas utilisables (alors qu'elles fonctionnaient bien avant).
Pourriez-vous me dire comment faire pour que, lorsque je ré-affiche ma JFrame, la JTextArea et ses scroll bars fonctionnent comme avant?
Merci! :mrgreen: