Смена цвета фона основного окна

226
04 января 2022, 05:40

Создал небольшую форму пробную, есть задание сменить цвет фона. Все вроде бы просто.

Применяю getContentPane().setBackGround(new Color(64,150,208)); запускаю и ничего не изменилось. Почему не меняется цвет?

Если setVisible(); прописать в класс FirFrame, то цвет меняется, но пропадают все панели и кнопки.

public class FirFrame extends JFrame{
    private JTextField  name1;
    private JTextField  e_mail1;
    private JCheckBox  html;
    private JCheckBox javascript;
    private JCheckBox php;           
    public FirFrame() {
        super ("моя форма");
        setBounds(600, 400, 850, 400);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        getContentPane().setBackground(new Color(64,150,208));// не работает
        setLayout(new BorderLayout());    
        JPanel panel_1 = new JPanel();  // центральная панель
        panel_1.setLayout(new GridBagLayout());
        JLabel name = new JLabel("Name :");
        name1 = new JTextField();
        name.setFont(new Font("Arial", Font.BOLD, 17));
        name1.setFont(new Font("Arial", Font.BOLD, 15));
        JLabel e_mail = new JLabel("E-mail :");
        e_mail1 = new JTextField();
        e_mail.setFont(new Font("Arial", Font.BOLD, 17));
        e_mail1.setFont(new Font("Arial", Font.BOLD, 15));
        name.setHorizontalAlignment(SwingConstants.RIGHT);
        e_mail.setHorizontalAlignment(SwingConstants.RIGHT);
        name1.setPreferredSize(new Dimension(200,30));
        e_mail1.setPreferredSize(new Dimension(200,30));
        GridBagConstraints a = new GridBagConstraints();
        a.fill = GridBagConstraints.BOTH;
        a.gridx = 0;
        a.gridy = 0;
        a.insets = new Insets(0,0,5,5);
        panel_1.add(name,a);
        a.gridx = 1;
        panel_1.add(name1,a);
        a.gridx = 0;
        a.gridy = 1;
        panel_1.add(e_mail,a);
        a.gridx = 1;
        panel_1.add(e_mail1,a);
        JPanel panel_2 = new JPanel(); // верхняя панель
        panel_2.setBorder(new EmptyBorder(20,0,0,0));
        JLabel label = new JLabel("Моя форма");
        label.setFont(new Font("Arial", Font.BOLD, 22));
        panel_2.add(label);
        JPanel panel_3 = new JPanel();   // нижняя панель
        html = new JCheckBox("Онлайн курс HTML");
        javascript = new JCheckBox("Онлайн курс JavaScript");
        php = new JCheckBox("Онлайн курс PHP");
        JButton button = new JButton("Подписаться");
        button.setPreferredSize(new Dimension(150, 40));
        html.setFont(new Font("Arial", Font.BOLD, 15));
        javascript.setFont(new Font("Arial", Font.BOLD, 15));
        php.setFont(new Font("Arial", Font.BOLD, 15));
        button.setFont(new Font("Arial", Font.BOLD, 15));
        panel_3.add(html);
        panel_3.add(javascript);
        panel_3.add(php);
        panel_3.add(button,BorderLayout.SOUTH);
        panel_3.setBorder(new EmptyBorder(0,0,30,0));
        add(panel_1,BorderLayout.CENTER);
        add(panel_2,BorderLayout.NORTH);
        add(panel_3,BorderLayout.SOUTH);
    }
}
READ ALSO
Java JSP , перенаполнение аттрибута (setAttribute)

Java JSP , перенаполнение аттрибута (setAttribute)

Здравствуйте есть сервлет внутри сервлета устанавливается аттрибут data

170
Вопрос по ООП Java. Нужен совет

Вопрос по ООП Java. Нужен совет

Интересно мнение экспертовПрограмма угадывает задуманное число, и пишет за скольо ходов она угадала

93
Как превратить строку в формулу?

Как превратить строку в формулу?

Допустим, я прошу пользователя ввести любую формулу графика, для простоты пусть это будет

240
Как сделать такие разрывы в border?

Как сделать такие разрывы в border?

С помощью псевдоэлэментов, градиента или же другие методы?

198