【发布时间】:2012-03-23 19:46:05
【问题描述】:
我正在构建一个 JFrame 并且我想在其上拥有 3 个具有 3 种不同颜色的 JLabel 实例。
- 白色
- 红色
- 白色
这是我的代码:
package View;
import java.awt.*;
import javax.swing.*;
public class Home extends JFrame {
private JLabel label, label1;
private JPanel panel;
private Container window = getContentPane();
public Home (){
initGUI();
}
public void initGUI(){
setLayout(null);
setTitle("");
setPreferredSize(new Dimension(800,600));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
label = new JLabel();
label.setBounds(0, 0, 266, 800);
label.setBackground(Color.WHITE);
label.setOpaque(true);
this.add(label);
panel = new JPanel();
pack();
}
}
但是当我添加第二个红色标签时,它必须位于白色背景旁边,白色背景将消失
【问题讨论】:
-
您的 3 个标签在哪里?我在您的代码中只看到 2 个。并且只有 1 被实例化和添加。
-
您已经使用 label.setBackground(Color.WHITE);。很难将它们应用于其他标签吗?是否需要您在这个奇妙的网站上提出这样的问题?指定我们的问题。
-
检查你在写什么
label.setBounds(0, 0, 266, 800);。下一个标签必须在label.setBounds(267, 0, 266, 800);和label3.setBounds(533, 0, 266, 800);,这样一个接一个。希望在错误的地方提供界限不是问题。请检查:-) -
1) 将文本放入标签中以进行调试。你看到什么字符串? 2) 为了尽快获得更好的帮助,请发布SSCCE。 3) 使用布局!
-
你检查布局了吗?可能这些元素正在相互叠加。请分享添加第二个标签的代码。
标签: java eclipse swing background jlabel