我在Java中有一个名为statsText
的swing组件。其中包含文本,我希望用户能够使用打印机打印statsText
中显示的数据。
我尝试了这个,但它不起作用:
java.awt.Component.print(statsText.getText());
那么我需要做什么?
答案 0 :(得分:0)
试试这个:
String text = statsText.getText();
JTextPane textPane = new JTextPane();
textPane.setText(text);
boolean success = textPane.print();
if (success) {
/* show a success message */
...
} else {
/*show an error message */
}
答案 1 :(得分:0)
如果你的statsText对象是JTextComponent类型,包括JEditorPane,JTextArea和JTextField,那么它有几个打印方法are demonstrated in Oracle's Java tutorials for printing。从该页面上的信息中得出的一个简单例子是
import java.awt.print.PrinterException;
import javax.swing.JTextArea;
public class PrintExample {
static JTextArea text = new JTextArea("Print this text");
public static void main(String[] args) {
try {
text.print();
} catch (PrinterException e) {
e.printStackTrace();
}
}
如果您的需求比简单的示例涵盖更多,则JTextComponent的Java SE javadocs中记录了更多选项,例如,您将找到一个允许您描述页眉和页脚的重载方法。打印作业,是否应显示系统打印对话框等。