저는 JFrame이있는 프로그램을 작성하고 있는데, 그 중 하나의 컴포넌트를 추가하고 프레임을 다시 채우고 싶습니다. 내가 지금까지 가지고하는 것은 (에서 startPanel가 JPanel을 구현 JFrame의를 구현하는 객체에서 호출) 아래의 코드 같은 것입니다 : 내가 코드를 실행할 때 빈 창 (안에서 startPanel)를 보여줍니다, 그러나Java의 JFrame에서 모든 구성 요소를 제거하는 방법은 무엇입니까?
removeAll();
startPanel = new StartPanel();
startPanel.setVisible(true);
add(startPanel);
revalidate();
repaint();
창을 최소화/크기 조정하면 창이 검은 색으로 변합니다. removeAll()
을 생략하고 이미 JFrame에 요소가 없으면 startPanel이 제대로 표시됩니다. 실제로 모든 것을 제거하는 방법에 대한 아이디어를 얻은 다음 새 패널을 계속 표시 하시겠습니까?
하나 개의 단어를 업데이트 할 thoes 구성 요소를 추가 후 확인 후 다른 뭔가를 추가하는 것입니다 가정 : [CardLayout (HTTP : // docs.oracle.com/javase/tutorial/uiswing/layout/card.html) –
@HovercraftFullOfEels 작동하지만 수동으로 수행 할 수있는 다른 방법이 있습니까? 왜 removeAll()이 제대로 작동하지 않는가? 코드의 다른 부분에서 한 번에 하나씩 표시되는 것뿐만 아니라 다른 구성 요소의 일부 조합이 필요할 경우 어떻게해야합니까? 그렇다면 CardLayout을 원하지 않습니까? – scaevity