Я делаю Java-приложение, но теперь мне нужно отобразить все выходные данные консоли (например, исключения, println, ecc ...) во внешнем jframe.
Я просмотрел некоторые решения, но не знаю, что мне нужно делать.
Пожалуйста, не отмечайте это как дубликат, потому что я не нахожу ничего, чтобы решить мой вопрос.
Я пробовал это:
public class Main extends JFrame {
public static void main(String[] args) {
Console console = new Console();
console.init();
Main launcher = new Main();
launcher.setVisible(true);
console.getFrame().setLocation(
launcher.getX() + launcher.getWidth() + launcher.getInsets().right,
launcher.getY());
}
private Main() {
super();
setSize(600, 600);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
class Console {
final JFrame frame = new JFrame();
public Console() {
JTextArea textArea = new JTextArea(24, 80);
textArea.setBackground(Color.BLACK);
textArea.setForeground(Color.LIGHT_GRAY);
textArea.setFont(new Font(Font.MONOSPACED, Font.PLAIN, 12));
System.setOut(new PrintStream(new OutputStream() {
@Override
public void write(int b) throws IOException {
textArea.append(String.valueOf((char) b));
}
}));
frame.add(textArea);
}
public void init() {
frame.pack();
frame.setVisible(true);
System.out.println("Hello world!");
}
public JFrame getFrame() {
return frame;
}
}
но он не работает.
Что мне делать? Благодаря.