Обычная версия
Java форум JavaTalks
форум программистов

Поиск   Пользователи   Группы   Регистрация 
 Профиль   Личные сообщения 

 Вход 

Java 1.7 печать символа №
Список форумов
 ->  Печать (Printing API)


 
Начать новую тему 
Предыдущая тема :: Следующая тема  
Автор Сообщение
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)


 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Java and all Java-related trademarks and logos are trademarks or registered trademarks of Oracle Corporation in the United States and other countries.
Это сайт не относится к фирме Oracle Corporation и не поддерживается ею.

© 2006-2010 www.javatalks.ru: форум java программистов
Используется скрипт phpBB © 2001, 2010 phpBB Group

Хостинг от bizname.ru