![](/img/trans.png)
[英]Error in using setBackground( new Color(0,0,0,0)) in Swing
[英]Strange setBackground() error - Java Swing
import java.awt.*;
import javax.swing.*;
public class JFrameGUI extends JFrame
{
JLabel item1;
public JFrameGUI(int l, int b , String Title)
{
setTitle(Title);
setLayout(new FlowLayout());
setSize(l, b);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
item1 = new JLabel("This is a Sentence.");
item1.setToolTipText("This is gonna show up on hover.");
add(item1);
}
public static void main(String[] args)
{
JFrameGUI g = new JFrameGUI(1280,720,"The End Of The Line");
JPanel p = new JPanel();
p.setBackground(Color.BLUE);
g.add(p);
}
}
當我執行此操作時,我得到的是一個小的藍色方形嵌套到“這是一個句子”字符串。 我已經嘗試了一切!
您需要將框架的布局設置為doesn't
其子項的首選大小的布局。 FlowLayout
可以,並且您的JPanel
沒有首選大小而沒有添加任何組件,或指定首選大小。
一個簡單的修復,將框架的布局設置為BorderLayout
,或者根本不設置布局,因為JFrame
已經有一個默認的BorderLayout
。 請注意,您可能希望將JLabel
添加到JPanel
而不是JFrame
。 除非你想將其添加到JFrame
,而不是背景JPanel
,你需要指定一個BorderLayout
你不想在中心的一個位置。
您可以看到此答案,以查看哪些布局管理器尊重首選大小,哪些不符合
有關容器的布局輸出組件,請參閱更多信息
此外, setVisible(true)
應該是添加所有組件后 最后做的事情。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.