2

我有一个包含很多面板的项目。我有一种方法可以在卡片布局面板中切换卡片(jpanel)(见下文)。当我从我的 IDE (Netbeans) 运行它以及从命令提示符 ( java -jar MyStuff.jar) 运行 jar 时,这一切都很好。但是当我双击 Jar 时,卡片会发生变化,但不会repaint产生不希望的结果(当我将鼠标悬停在组件上时)。如果我通过再次单击按钮再次调用该方法,它将适用。我需要立即帮助:) 谢谢!

/**
* Shows a panel by the given panel name (in the cardPanel)
*
* @param panelName
*/
private void showPanel(String panelName) {
  if (panelName.equals("revenueSources")) {
    backButtonIcon.setVisible(false);
  } else {
    backButtonIcon.setVisible(true);
  }
  currentPanelName = panelName;
  ((CardLayout) cardPanel.getLayout()).show(cardPanel, panelName);
  repaint();
  revalidate();
}
4

1 回答 1

3

(when I mouse over the components appear)此代码仅从

repaint();
revalidate();

revalidate();
repaint();
于 2012-04-07T14:51:18.153 回答