ICEPDF скрыть pagenav, последнюю страницу и первую страницу

Я работал над тем, чтобы показать pdf в javafx с библиотеками icepdf. Все прошло успешно, но я не хочу видеть кнопки "Первая страница" и "Последняя страница" на панели инструментов. Документы API показывают, как полностью скрыть навигатор страниц.

        propertiesManager.setBoolean("application.toolbar.show.pagenav", false);

Я хочу удалить только кнопки "Первая страница" и "Последняя страница". Кто-нибудь может помочь, пожалуйста?

2 ответа

Решение

К сожалению, нет опции конфигурации, чтобы скрыть отдельные кнопки навигации. Но довольно просто переопределить метод SwingViewBuilder buildPageNavigationToolBar().

Используя пример http://anonsvn.icesoft.org/repo/icepdf/branches/icepdf-6.2.0/icepdf/examples/component/ViewerComponentExample.java вы можете изменить вызов:

SwingViewBuilder factory = new SwingViewBuilder(controller, properties); 

выглядеть так:

SwingViewBuilder factory = new SwingViewBuilder(controller, properties){
    @Override
    public JToolBar buildPageNavigationToolBar() {
        JToolBar toolbar = new JToolBar();
        commonToolBarSetup(toolbar, false);
        addToToolBar(toolbar, buildPreviousPageButton());
        addToToolBar(toolbar, buildCurrentPageNumberTextField());
        addToToolBar(toolbar, buildNumberOfPagesLabel());
        addToToolBar(toolbar, buildNextPageButton());
        return toolbar;
    }
};

спасибо @pcorless, чтобы скрыть использование кнопок печати и сохранения

      SwingViewBuilder factory = new SwingViewBuilder(controller, properties){
public JToolBar buildUtilityToolBar(boolean embeddableComponent, PropertiesManager propertiesManager) {
                JToolBar toolbar = new JToolBar();
                commonToolBarSetup(toolbar, false);
                // if embeddable component, we don't want to create the open dialog, as we
                // have no window manager for this case.
                if (PropertiesManager.checkAndStoreBooleanProperty(propertiesManager, PropertiesManager.PROPERTY_SHOW_UTILITY_SEARCH))
                    addToToolBar(toolbar, buildSearchButton());
                if (PropertiesManager.checkAndStoreBooleanProperty(propertiesManager, PropertiesManager.PROPERTY_SHOW_UTILITY_UPANE))
                    addToToolBar(toolbar, buildShowHideUtilityPaneButton());

                // Don't bother with this toolbar if we don't have any visible buttons
                if (toolbar.getComponentCount() == 0) {
                    return null;
                }

                return toolbar;
            }
});
Другие вопросы по тегам