无法设置背景颜色

时间:2018-05-21 17:23:20

标签: java jframe

出于某种原因,我的背景并没有变成蓝色。是否有人知道如何通过保持内部的一切来解决这个问题?

我已经尝试解决这个问题已经很久了,但是没有什么可以解决的。

public static void window() {
    JFrame frame = new JFrame("Sharp");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().setLayout(
        new BoxLayout(frame.getContentPane(), BoxLayout.Y_AXIS));
    JPanel b = new JPanel();
    JLabel label2 = new JLabel("Hello, World!", JLabel.CENTER);
    label2.setAlignmentY(0);
    label2.setAlignmentX(0);
    label2.setText("<html>Made by Julian</html>");
    JPanel a = new JPanel();
    b.add(label2);
    a.setAlignmentX(Component.CENTER_ALIGNMENT);
    a.setPreferredSize(new Dimension(850, 500));
    a.setMaximumSize(new Dimension(850, 850)); // set max = pref


    JToggleButton tb = new JToggleButton("SHARP Instructions");
    tb.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            JToggleButton btn =  (JToggleButton) e.getSource();


            if(btn.isSelected()) {
                Desktop d = Desktop.getDesktop();
                try {
                    d.browse(new URI("https://pastebin.com/nDdGZ0cJ"));
                } catch (IOException | URISyntaxException e2) {
                    e2.printStackTrace();
                } 
            }
        }
    }); 

    frame.setBackground(Color.BLUE);
    a.add(tb);

   // JPanel b = new JPanel();

    frame.add(a, new GridBagConstraints());
    frame.getContentPane().add(a);
    frame.getContentPane().add(b);
    //frame.getContentPane().add(b);
    frame.pack();
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);
}

1 个答案:

答案 0 :(得分:0)

您的JPanel a位于JFrame之上,只是:

a.setBackground(Color.BLUE);会修复它。

相关问题