JFrame вдруг содержит синий фон - PullRequest
1 голос
/ 21 января 2020

Я пытаюсь создать простую программу, используя JInternalFrame на Swing, и когда я запускаю свой код, она неожиданно создает синий фон. Может кто-нибудь сказать мне, как я могу удалить это? вот код, который я попробовал

import javax.swing.*;

public class Main extends JFrame {

    JDesktopPane dp = new JDesktopPane();
    JInternalFrame intf = new JInternalFrame("demo");

    public void initialize() {
        setTitle("Test Program");
        setSize(500, 500);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setVisible(true);
    }

    public Main() {
        intf.setSize(150, 200);
        intf.setVisible(true);
        dp.add(intf);
        add(dp);
        initialize();
    }

    public static void main(String args[]) {
        new Main();
    }

}

here is the result shown after i run my code

1 Ответ

1 голос
/ 21 января 2020

Это часть PL & F.

Чтобы буквально удалить его, вы можете сделать JDesktopPane непрозрачным:

dp.setOpaque(false);

или установить цвет фона, который вам нравится:

dp.setBackground(new java.awt.Color(200,200,200));

Но со светлым цветом это выглядит странно.

Возможно, что-то сконфигурировано в macOS PL & F. Все просто живут с macOS, выглядящие так, как хочет выглядеть macOS.

...