JLabel最初不显示

时间:2018-11-09 07:14:54

标签: java swing jframe

我做了一个简单的课程来练习布局。大部分都可以正常使用,但是直到我单击按钮后,我的JLabel才出现。我在早期版本中具有与JTextFieldJTextArea相同的信息,但确实更喜欢JLabel的外观,但是即使在其他迭代中,也只有在单击时才会显示或尝试从窗口中选择文本。我尝试过将text变量设置为可见后,将其添加到under面板中,并将整个under面板设置为除了{{1} }要求整个对象,但没有一个起作用。

这是我的代码:

setVisible(true)

1 个答案:

答案 0 :(得分:1)

快速解决方案是仅在覆盖的ISBN方法的开头调用@@isbn,以便框架确保正确地进行清除/清理/布局。

最佳解决方案应考虑以下因素:

覆盖方法时,请添加super.paint(g)批注,以便IDE会在您不正确覆盖时警告您。

覆盖绘画方法时,请调用其paint实现,以确保由父组件正确清理事物。

对于自定义绘画,最好使用@Override(通常是super)。

对于自定义绘画,请覆盖JComponent(并调用JPanel),请勿使用paintComponent(Graphics)

您不需要扩展super.paintComponent,只需创建一个paint(Graphics)并使用它即可。

在下面的示例中,添加了一个自定义JFrame类用于自定义绘画,并且该应用程序不再扩展JFrame

JPanel