Java JSwing 使用一种方法将面板添加到框架,我将如何删除面板?
Java JSwing using a method to add a panel to frame, how would I remove the panel?
您好,我正在使用一种方法来构建框架,该方法需要参数,所以我想知道是否有解决方法,因为我无法在不输入参数的情况下使用该方法将其删除。这是一些示例代码:
gameWindow.add(buildPlayersPanel(playersSelected));
那么我该如何删除这个面板,我会使用相同的方法吗?
试试这个:
buildPlayersPanel.setVisible(假);
糟糕,我上次有一个拼写错误,所以这应该可以工作
人们会假设 buildPlayersPanel(playersSelected)
return 是某种组件的实例,为了论证起见,我们假设 JPanel
然后您需要维护对 return 结果的引用。为此,您需要将实例字段添加到 class
private JPanel playersPanel;
构建 UI 时,您需要将 buildPlayersPanel(playersSelected)
的 return 结果分配给它...
playersPanel = buildPlayersPanel(playersSelected);
gameWindow.add(playersPanel);
然后,在将来的某个时候,当您想要删除它时,您只需使用相同的引用即可
gameWindow.remove(playersPanel);
gameWindow.revalidate();
gameWindow.repaint();
您好,我正在使用一种方法来构建框架,该方法需要参数,所以我想知道是否有解决方法,因为我无法在不输入参数的情况下使用该方法将其删除。这是一些示例代码:
gameWindow.add(buildPlayersPanel(playersSelected));
那么我该如何删除这个面板,我会使用相同的方法吗?
试试这个:
buildPlayersPanel.setVisible(假);
糟糕,我上次有一个拼写错误,所以这应该可以工作
人们会假设 buildPlayersPanel(playersSelected)
return 是某种组件的实例,为了论证起见,我们假设 JPanel
然后您需要维护对 return 结果的引用。为此,您需要将实例字段添加到 class
private JPanel playersPanel;
构建 UI 时,您需要将 buildPlayersPanel(playersSelected)
的 return 结果分配给它...
playersPanel = buildPlayersPanel(playersSelected);
gameWindow.add(playersPanel);
然后,在将来的某个时候,当您想要删除它时,您只需使用相同的引用即可
gameWindow.remove(playersPanel);
gameWindow.revalidate();
gameWindow.repaint();