private void addControls() {
    this.setLayout(new BoxLayout(getContentPane(), BoxLayout.PAGE_AXIS));
    panelMenu = new PanelMenu();
    panelMenu.setBorder(new EmptyBorder(5, 5, 5, 5));
    panelMenu.setPreferredSize(new Dimension(410, 50));
    add(panelMenu);

    JTabbedPane tabbedPane = new JTabbedPane();
    tabbedPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    ImageIcon icon = createImageIcon("exam.jpg");

    panelExam = new PanelExam();
    tabbedPane.addTab(getText("Exams"), icon, panelExam, getText("Manage.exams"));
    tabbedPane.setMnemonicAt(0, KeyEvent.VK_1);

    icon = createImageIcon("question.png");
    panelQuestion = new PanelQuestion();
    tabbedPane.addTab(getText("Questions"), icon, panelQuestion, getText("Manage.questions"));
    tabbedPane.setMnemonicAt(1, KeyEvent.VK_2);

    icon = createImageIcon("exclamation.png");
    panelAnswer = new PanelAnswer();
    tabbedPane.addTab(getText("Answers"), icon, panelAnswer, getText("Manage.answers"));
    panelAnswer.setPreferredSize(new Dimension(410, 50));
    tabbedPane.setMnemonicAt(2, KeyEvent.VK_3);

    tabbedPane.addChangeListener(
        new ChangeListener() {

          @Override
          public void stateChanged(ChangeEvent e) {
            JTabbedPane source = (JTabbedPane) e.getSource();
            switch (source.getSelectedIndex()) {
              case 0:
                panelExam.refresh();
                break;
              case 1:
                panelQuestion.refresh();
                break;
              case 2:
                panelAnswer.refresh();
                break;
            }
          }
        });
    add(tabbedPane);
    tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
    panelQuestion.refresh();
  }
 protected static void refresh() {
   panelQuestion.refresh();
   panelExam.refresh();
   panelAnswer.refresh();
 }