|
Java форум JavaTalks форум программистов
|
|
|
|
| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
n4ela : 44 Новичок
|
Янв 28, 2012 11:43 |
|
|
При переходе на java 1.7 вылез неприятный баг с печатью символа №
Код представленный ниже прекрасно работает в Java 1.6
Но в Java 1.7 при печати символа № как будто бы происходит возвращение каретки в начало строки
| Код: |
public class HelloPrint extends JPanel implements Printable {
public static void main(String[] args) {
final JFrame jf = new JFrame("Hello Frame");
final HelloPrint gds = new HelloPrint();
gds.setPreferredSize(new Dimension(200,200));
gds.setMinimumSize(new Dimension(200,200));
jf.getContentPane().add(gds);
jf.setSize(400,400);
//invokeLater() is used as a workaround for a java
//gui bug.
SwingUtilities.invokeLater(new Runnable() {
public void run() {
try {
jf.setVisible(true);
//get a PrintJob
PrinterJob pjob = PrinterJob.getPrinterJob();
//set a HelloPrint as the target to print
pjob.setPrintable(gds, pjob.defaultPage());
//get the print dialog, continue if canel
//is not clicked
if (pjob.printDialog()) {
//print the target (HelloPrint)
pjob.print();
}
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* We happen to implement a paint method, but this could be
* ignored for components that already to something interesting
* on their own.
*/
public void paint(Graphics g) {
super.paint(g);
g.drawString("Hello world!", 100, 100);
g.drawString("Страница №1", 100, 120);
}
/**
* Printable's implementation
*/
public int print(Graphics g, PageFormat pf, int pageIndex) {
//assume the page exists until proven otherwise
int retval = Printable.PAGE_EXISTS;
//We only want to deal with the first page.
//The first page is numbered '0'
if (pageIndex > 0){
retval = Printable.NO_SUCH_PAGE;
} else {
//setting up the Graphics object for printing
g.translate((int)(pf.getImageableX()), (int)(pf.getImageableY()));
//populate the Graphics object from HelloPrint's paint() method
paint(g);
}
return retval;
}
}
|
Бага воспроизводится только на Windows c Java 1.7 (x86 или x64)
Под Linux все нормально печатается.
+ ко всему на предворительном просмотре документ отображается корректно, косяк только при самой распечатки. |
|
|
|
 |
surlac : 374 Бывалый
|
Фев 08, 2012 2:08 |
|
|
для тех кто столкнулся, продолжение обсуждения здесь.
Автор, дай ссылку на баг репорт (видно твоих рук дело). |
|
|
|
 |
n4ela : 44 Новичок
|
Фев 08, 2012 20:05 |
|
|
Тема на офф форуме моя.
А вот баг не занесли, неделю назад заполнил форму на бегтреке, сказали что оповестят емейлом при любом результате(примут/не примут), но ответа нету. |
|
|
|
 |
|
|
Страница 1 из 1
|
Список форумов
-> Печать (Printing API) |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|