애플릿을 만들었습니다. "잊어 버렸습니다."버튼을 누르면 애플릿의 현재 JPanel이 지워집니다. & 검색/가져 오기와 관련된 JComponents를 표시하는 새 JPanel을 만듭니다. 암호를 잊어 버림.스윙 콘텐츠 패널 지우기/패널 및 새 패널 표시
.removeAll();을 사용하여 JPanel을 성공적으로 지울 수 있습니다. 하지만 콘텐츠 창 (주 JPanel의) 애플릿에 &이 추가 내 모든 새로운 JComponent의 생성 후은 & 새로운 JPanel의에게 내가 애플릿의 크기를 조정하지 않는 한 가, 다음은 & 작품을 다시 그립니다 & 구성 요소를 표시하지 않습니다 회색 간다.
모든 새로운 JComponents를 작성한 후에도 .invalidate()를 넣으려고했으나 여전히 애플릿을 새로 고치지 않습니다.
.removeAll() &에 다른 JComponents를 추가 한 후 내 JPanel을 삭제 한 후 어떻게 나타나게 할 수 있습니까?
코드 :
public class App extends JApplet
{
JPanel mainPanel;
public void init()
{
SwingUtilities.invokeAndWait(new Runnable() {
public void run()
{
showLoginPanel(); // this shows fine on loading
}
});
}
public void showForgotPassPanel()
{
mainPanel.removeAll();
mainPanel = (JPanel) getContentPane();
Box hBox = Box.createHorizontalBox();
Box vBox = Box.createVerticalBox();
mainPanel.setLayout(new BorderLayout());
... create components
... add components to mainPanel
mainPanel.invalidate(); // doesn't make new layout visible, not unless I resize the applet
}
}
JRE7을 사용하여 둘 다 사용해야했습니다. 간단한 페인트로 빈 회색 판이 나에게 남았고, 간단한 재 검증이 새로운 내용을 옛날에 그린 것이다. – efaj