我有一個包含很多面板的項目。我有一種方法可以在卡布局面板中切換卡(jpanel)(請參見下文)。這一切工作正常,當我從我的IDE(Netbeans)運行它,當我從命令提示符(java -jar MyStuff.jar
)運行罐子。但是當我雙擊Jar時,卡片會發生變化,但不會產生不希望的結果(當我將鼠標懸停在組件上時)。如果我再次點擊該按鈕再次調用該方法,它將適用。我需要立即請求幫助:)謝謝!當我運行除了在命令提示符下的.jar時Swing不會重新繪製
/**
* 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();
}
非常好,可能的情況下編輯好的問題與[SSCCE](HTTP你的問題:// sscce.org/) – mKorbel 2012-04-07 14:49:37
此[SSCCE使用'CardLayout'](http://stackoverflow.com/a/5786005/418556)工作而不會調用'重繪()','重新驗證()'*或* '的validate( )'。我只能斷定你的代碼是非常錯誤的。但我會爲***你的*** SSCCE預留更多評論。 – 2012-04-07 14:56:46
你說得對,我錯了不使用SSCCE。我只是沒有時間而且在幾個小時內就沒有關係。我只是用bat文件來運行它。謝謝您的幫助。 – kentcdodds 2012-04-07 14:59:14