簡體   English   中英

JFrame背景顏色不會改變

[英]JFrame background color will not change

我在這里查看了許多答案,並相應地更改了代碼,但仍然無法正常工作。 有人可以幫我解決嗎?

import javax.swing.*;
import java.awt.*;

public class LoginGUI extends JFrame {



    LoginGUI() { 

        Container c = getContentPane();
        c.setBackground(Color.BLACK);
        JPanel p = new JPanel();
        JLabel title = new JLabel("HTML Generator");
        title.setForeground(Color.black);
        p.add(title);
        c.add(p);
        title.setOpaque(true);

        setSize(400, 400);
        setVisible(true);
    }

    public static void main(String[] args) { 
        new LoginGUI();
    }

}

JPanel的opaque屬性默認為true, JFrame默認布局為BorderLayout 僅將一個組件( JPanel )添加到框架中,將在框架的整個尺寸上拉伸它,因為這就是BorderLayout作用。 因此,覆蓋整個框架的不透明面板將解釋您獲得的結果。

三個簡單的修復程序。 可以將JPanel opaque屬性設置為false,或者只將JPanel的背景設置為,或者將框架的布局設置為GridBagLayoutFlowLayout

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM