2014-01-14 4 views
1

У меня есть следующие JTextAreaJTextArea.print() печатает пустую страницу

reportText = new JTextArea(); 
reportText.setColumns(100); 
reportText.setLineWrap(true); 
reportText.setName("Output Report"); 
reportText.setAutoscrolls(true); 
reportText.setFont(new Font("Courier", Font.PLAIN, 12)); 
reportText.setEditable(false); 
reportText.setSize(new Dimension(300, 500)); 

Я просто ищу, чтобы напечатать текст в reportText как через reportView.getReportTextArea().print();. Однако принтер заканчивает печать пустой страницы. Я видел following SO answer, но я устанавливаю размер, поэтому я не думаю, что это моя проблема.

Обратите внимание, что я устанавливаю текст позже в приложении, который я здесь не показываю.

Есть ли что-нибудь еще, что мне не хватает? Я не понимаю метод JTextComponent.print()?

+0

И что вы видели на экране? потому что вы не добавляете текст – nachokk

ответ

2

Я думаю, вы хотите напечатать строку "Output Report", но тогда вы должны установить ее как текст JTextArea, а НЕ имя.

Попробуйте это, чтобы увидеть, что он работает, когда текст установлен.

public class Main { 
    public static void main(String[] args) throws PrinterException { 
     JTextArea reportText = new JTextArea(); 
     reportText.setText("Output Report"); 
     reportText.print(); 
    } 
} 
+0

Нет, текст указан в другом месте приложения. – Neeko

+0

@Neeko Я предполагаю, что он не установлен, потому что, если я выполняю только код, который я предоставил (например, в основном методе), он работает. Но вот некоторые вещи, которые вы должны проверить: вы уверены, что текст установлен? Вы уверены, что никто не устанавливает цвет переднего плана и фона в белый? –

+0

Нет, текст указан в другом месте приложения - я голосую, чтобы закрыть ваш вопрос (конечно, нет выбора - Shot in Dark) – mKorbel

Смежные вопросы