首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
如何在SWING的界面输入undertown的日志信息
hb963724769
2021-07-27 10:32
我画了一个SWING界面,如何让undertown的日志在界面上输出呢。
项目:
JFinal
1
评论区
hb963724769
2021-07-27 10:43
SWING界面启动undertow代码。这里的try,catch没用,就算undertow启动失败,也catch不到。错误日志输出在控制台了
button1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
undertowServer= UndertowServer.create(com.fukuwaraku.common.config.Config.class);
undertowServer.setPort(11086);
undertowServer.setHost("localhost");
undertowServer.setDevMode(false);
undertowServer.start();
JOptionPane.showMessageDialog(null, "启动成功");
} catch (Exception e1){
JOptionPane.showMessageDialog(null, "启动失败!!!!!!"+e1.getMessage(), "启动失败",JOptionPane.ERROR_MESSAGE);
}
}
});
回复
杜福忠
2021-07-27 15:24
重写System.setErr(new PrintStream(System.err){public void println(Object x) 等系列方法,输出内容到想输出的地方即可
回复
hb963724769
2021-07-30 14:22
@杜福忠
感谢已经搞定。 贴出代码
private static void redirectSystemStreams() {
OutputStream out = new OutputStream() {
@Override
public void write(int b) throws IOException {
updateTextArea(String.valueOf((char) b));
}
@Override
public void write(byte[] b, int off, int len) throws IOException {
updateTextArea(new String(b, off, len));
}
@Override
public void write(byte[] b) throws IOException {
write(b, 0, b.length);
}
};
System.setOut(new PrintStream(out, true));
System.setErr(new PrintStream(out, true));
}
// 本质上相当于多线程的更新JTextArea内容
private static void updateTextArea(final String text) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
if (textArea.getLineCount()>120){
textArea.setText("");
}
textArea.append(text);
}
});
}
回复
发送
我要反馈
热门反馈
扫码入社
button1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
undertowServer= UndertowServer.create(com.fukuwaraku.common.config.Config.class);
undertowServer.setPort(11086);
undertowServer.setHost("localhost");
undertowServer.setDevMode(false);
undertowServer.start();
JOptionPane.showMessageDialog(null, "启动成功");
} catch (Exception e1){
JOptionPane.showMessageDialog(null, "启动失败!!!!!!"+e1.getMessage(), "启动失败",JOptionPane.ERROR_MESSAGE);
}
}
});