我是Java/Swing的新手。我有这样的代码:
private void printText(String msg)
{
jStatus.setText(msg);
jStatus.setCaretPosition(jStatus.getText().length()-1);
}jStatus是JTextPane。我想在调试中使用它。但是,直到程序离开断点,msg才会显示在jStatus上。
有可能吗?或者我应该改用System.out.print?
发布于 2014-09-05 22:48:43
无论您使用哪种调试技术,都应该有进入/结束/退出指令点的可能性。如果希望在调试器停止时文本在Swing组件中可见,则应在紧接着的指令中设置一个断点,指向所需的点,即:
jStatus.setCaretPosition(jStatus.getText().length()-1);现在,如果您的调试器停在这一行,并且您看不到JTextArea中的文本,这意味着应该有一些问题,您应该在树中向上移动断点,并按照堆栈将其digg到方法中。
System.out.print、System.err.print或您使用的任何标准控制台输出/错误都与调试没有太大关系。这只是一个指令,让你在控制台中打印你的对象状态,这样你就可以实时看到它们。也就是说,允许或建议仅在开发和实际生产系统中使用它,您应该考虑logging solution。
因此,总而言之,您可以保留任意数量的System.out.print指令,并逐步调试源代码。
https://stackoverflow.com/questions/25688344
复制相似问题