clickables[LAST].setEvent(getEventParameter(getMaximum()-getExtent()));
clickables[LAST].setEvent(getEventParameter((getMaximum()+1)-getExtent()));
    protected void refreshComponents() {        // lower bound        clickables[BACKWARD].setEnabled(getValue() > getMinimum());        clickables[FIRST].setEnabled(clickables[BACKWARD].isEnabled());        if ( clickables[BACKWARD].isEnabled() ) {            clickables[BACKWARD].setEvent(getEventParameter(getValue()-getExtent()));            clickables[FIRST].setEvent(getEventParameter(getMinimum()));        }        // upper bound: maximum - extent        clickables[FORWARD].setEnabled(getValue() < getMaximum()-getExtent());        clickables[LAST].setEnabled(clickables[FORWARD].isEnabled());        if ( clickables[FORWARD].isEnabled() ) {            clickables[FORWARD].setEvent(getEventParameter(getValue()+getExtent()));            clickables[LAST].setEvent(getEventParameter(getMaximum()-getExtent()));        }        // overall pages         int pages = getPageCount();        setPageCountText(pages);        int currentPage = getCurrentPage();        // prefer forward        int firstDirectPage = currentPage - (directPages-1)/2;        firstDirectPage = Math.min(firstDirectPage, pages-directPages);        firstDirectPage = Math.max(firstDirectPage, 0);        // reset alle page clickables        for ( int i=0; i<directPageClickables.length; i++ ) {            directPageClickables[i].setVisible(false);        }        for ( int i=0;               i<Math.min(directPageClickables.length, pages-firstDirectPage);              i++ ) {            int page = firstDirectPage+i;            directPageClickables[i].setText(formatDirectPageLabel(page));            directPageClickables[i].setVisible(true);            directPageClickables[i].setEvent(getEventParameter(page*getExtent()));            if ( page == currentPage ) {                directPageClickables[i].setEnabled(false);                directPageClickables[i].setSelected(true);            }             else {                directPageClickables[i].setEnabled(true);                directPageClickables[i].setSelected(false);            }                    }    }