Окно Java не устанавливает цвет фона? - PullRequest
2 голосов
/ 21 февраля 2012

Возможно, это действительно глупая ошибка, но я только начал изучать пакет .awt. Я следовал инструкциям к письму, в видео фон его окна красный, в моем коде нет ошибок, но он не изменит цвет фона. Спасибо за любую помощь!

import java.awt.Color;
import javax.swing.*;
public class Test {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
JFrame f = new JFrame();
f.setVisible(true);
f.setSize(350,350);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setTitle("Window");
f.setBackground(Color.RED);
    }

}

Ответы [ 2 ]

10 голосов
/ 21 февраля 2012

1) JFrame не может этого сделать, вы должны изменить Color для панели содержимого, например,

JFrame.getContentPane().setBackground(myColor)

2) Вам нужно обернуть код, связанный с GUI (в методе maininvokeLater

Например:

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

public class GUI {

    public GUI() {
        JFrame frame = new JFrame();
        frame.setTitle("Test Background");
        frame.setLocation(200, 100);
        frame.setSize(600, 400);
        frame.addWindowListener(new WindowAdapter() {

            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
        frame.getContentPane().setBackground(Color.BLUE);
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {

            public void run() {
                GUI gUI = new GUI();
            }
        });
    }
}
4 голосов
/ 21 февраля 2012

Вместо

f.setBackground(Color.RED);

вызов

f.getContentPane().setBackground(Color.RED);

Отображается панель содержимого.

В качестве примечания, вот совет JFrame:Вы можете позвонить по номеру f.add(child), и ребенок будет добавлен для вас в панель контента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...