Created a JFrame and tried to change the background but it does not work. I have looked at so many solutions here and on the Internet and it doesnt work , What is wrong in my code
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));
don't work on the frame, work on the frame.getContentPane(). This is also where your sub panel and layout should be set. Besides, you use gridbag constraints but you never set a gridbag layout first. Meanwhile, you add to the frame and even if you did add to the content pane, you also didn't specify a content pane layout.
After doing changes in my code I found that the problem is caused by the GridBagConstraints c = new GridBagConstraints(); so i changed this by using panel.setLayout(null); then used setBounds to adjust the position of the components label.setBounds(100, 30, 250, 10); and everything os ok
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.