gpt4 book ai didi

java - JPanel 只是白色/灰色

转载 作者:行者123 更新时间:2023-11-30 06:16:26 28 4
gpt4 key购买 nike

编辑2:如果我尝试将 JLabel 添加到复选框所在的区域(您在第二张图片中看到),我也会得到一个白色/灰色区域。

编辑:另请注意:当我刚刚创建 JLabel 并在将 TotalResultArea 添加到 panelResults 之前添加它时,它也只显示白色/灰色区域。

我创建了两个 JPanel panelResultstotalResultArea但只看到第二个面板的白色/灰色区域 (totalResultArea) .

首先我将panelResults的布局设置为GridBagLayout

JPanel panelResults = new JPanel();
JPanel totalResultArea = new JPanel();
panelResults.setLayout(new GridBagLayout());

然后我将 totalResultArea 添加到 panelResults:

GridBagContraints  c = new GridBagConstraints();
totalResultArea.setLayout(new BoxLayout(totalResultArea, BoxLayout.Y_AXIS));
c.gridx = 0;
c.gridy = 0;
c.gridwidth = 2;
c.weightx = 2;
panelResults.add(totalResultArea, c);

在按钮的点击事件监听器中,我将 JLabel 添加到 totalResultArea 并将 JFrame 设置为可见:

JLabel totalResultsText = new JLabel("<html><body>...</body></html>");
totalResultArea.add(totalResultsText);

// revalidate and repaint totalResultArea and panelResults
totalResultArea.revalidate();
totalResultArea.repaint();
panelResults.revalidate();
panelResults.repaint();

// add panelResults to frame
frame.getContentPane().add(panelResults, BorderLayout.NORTH);

// invalidate, repaint the frame and make it visible
frame.invalidate();
frame.repaint();
frame.setVisible(true);

这一切看起来像这样:

white/grey JPanel

enter image description here

希望您能重现此内容。如果看不到图片。

可能是什么原因导致我看不到 JLabel 中的文本,而只是看到白色/灰色区域?

最佳答案

标签的背景颜色和字体颜色都是白色,因此您看不到文本。

当您使用油漆并用另一种颜色填充标签时,您会看到有一个文本。

Image to see that there is text

因此请检查您的样式和/或添加 totalResultsText.setForeground(Color.BLACK);

关于java - JPanel 只是白色/灰色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49111889/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com