簡體   English   中英

更改JFrame背景顏色

[英]Change JFrame background color

創建了一個JFrame並嘗試更改背景,但是它不起作用。 我在這里和互聯網上看了這么多解決方案,但都行不通,我的代碼有什么問題?

 JFrame frame = new JFrame("Process");
       JLabel label = new JLabel("Please wait...");
       JProgressBar pb = new JProgressBar();
       pb.setIndeterminate(true);
       pb.setBackground(new java.awt.Color(248, 201, 171));

       frame.setBackground(new java.awt.Color(242, 186, 152));
       frame.setSize(400, 200);
       frame.setLocationRelativeTo(null);

       JPanel panel = new JPanel();
       panel.setBackground(new java.awt.Color(242, 186, 152));

       GridBagConstraints c = new GridBagConstraints();

       c.insets = new Insets(10,10,10,10); // make spaces between components on screen
       c.gridx = 0;
       c.gridy = 0;
       c.gridwidth = 20;
       panel.add(label, c);
       c.gridx = 1;
       c.gridy = 1;
       c.gridwidth = 20;

       panel.add(pb, c);
       frame.add(panel);
       frame.setVisible(true);

嘗試frame.getContentPane().setBackground(new java.awt.Color(242, 186, 152));

不要在框架上工作,在frame.getContentPane()上工作。 這也是應該設置子面板和布局的地方。 此外,您使用了Gridbag約束,但從未首先設置Gridbag布局。 同時,添加到框架,即使確實添加到內容窗格,也沒有指定內容窗格布局。

在對代碼進行更改之后,我發現問題是由GridBagConstraints c = new GridBagConstraints();引起的。 所以我通過使用panel.setLayout(null);改變了它 然后使用setBounds調整組件標簽的位置。setBounds(100,30,250,10); 一切都還好

暫無
暫無

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

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