package net.codjo.dataprocess.gui.util.sqleditor.components; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JPanel; /** * */ public class NavigationPanelGui extends JPanel { private JButton firstButton = new JButton("<<"); private JButton previousButton = new JButton("<"); private JButton nextButton = new JButton(">"); private JButton lastButton = new JButton(">>"); private JLabel positionLabel = new JLabel("1 / 1"); public NavigationPanelGui() { buildGui(); } private void buildGui() { setLayout(new BoxLayout(this, BoxLayout.X_AXIS)); add(Box.createHorizontalGlue()); add(firstButton); add(Box.createHorizontalStrut(3)); add(previousButton); add(Box.createHorizontalStrut(5)); add(positionLabel); positionLabel.setText("1 / 1"); add(Box.createHorizontalStrut(5)); add(nextButton); add(Box.createHorizontalStrut(3)); add(lastButton); add(Box.createHorizontalGlue()); } public JButton getFirstButton() { return firstButton; } public JButton getPreviousButton() { return previousButton; } public JButton getNextButton() { return nextButton; } public JButton getLastButton() { return lastButton; } public JLabel getPositionLabel() { return positionLabel; } public void setPositionLabel(int currentPage, int nbOfPage) { positionLabel.setText(String.valueOf(currentPage) + " / " + nbOfPage); } public void manageEnablingButtons(int currentPosition, int nbOfPage) { firstButton.setEnabled(currentPosition > 1); previousButton.setEnabled(currentPosition > 1); nextButton.setEnabled(currentPosition < nbOfPage); lastButton.setEnabled(currentPosition < nbOfPage); positionLabel.setText(String.valueOf(currentPosition) + " / " + nbOfPage); } }