(Java GUI)JPAnel在removeAll()方法之后没有显示通过方法返回

时间:2016-05-07 03:06:09

标签: java swing jpanel

下面,我正在创建一个JFrame类(只是重要的部分发布在下面的类中)。创建UserInterface对象时,激活eventListener时一切正常。这部分代码:

import Text from 'react-native'

似乎无法正常工作。 removeAll()方法起作用,但是将gameScreen方法(返回面板)添加到JFrame并没有做任何事情。知道为什么吗?

getContentPane().removeAll();
getContentPane().add(gameScreen());
getContentPane().validate();
getContentPane().repaint();

1 个答案:

答案 0 :(得分:2)

是的,您的gamePanel可能会被添加,但您永远不会看到它。您可以在标签上添加JLabel而不添加任何文本,并设置标签的背景颜色而不使标签不透明。你也使用null布局,这是一件非常危险的事情。

如果这是我的代码,我就

  • 使用CardLayout交换组件
  • 避免像瘟疫一样的null布局,让布局经理为我做重布局。
  • 确保设置需要显示文本的任何JLabel的文本。设置JLabel的名称属性可能对我没什么帮助。