java swing設置框架背景顏色不起作用

加布里埃萊

我正在嘗試使用 java swing 創建一個井字遊戲。我創建了一個框架並將其背景設置為一種顏色。問題是框架的背景顏色沒有改變,我嘗試使用其他顏色但背景顏色總是白色。這是代碼:

public class TicTacToe implements ActionListener {
    Random random = new Random();
    JFrame frame = new JFrame();
    JPanel title_panel = new JPanel();
    JPanel button_panel = new JPanel();
    JLabel textField = new JLabel();
    JButton[] button = new JButton[9];
    boolean player1_turn;

    TicTacToe () {
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(800,800);
        frame.setVisible(true);
        frame.setTitle("Tic Tac Toe");
        frame.setLayout(new BorderLayout());
        frame.getContentPane().setBackground(Color.BLACK);


        textField.setBackground(new Color(0x084887));
        textField.setForeground(new Color(0xF58A07));
        textField.setText("Tic-Tac-Toe");
        textField.setFont(new Font("Ink Free",Font.BOLD,75));
        textField.setOpaque(true);
        textField.setHorizontalAlignment(JLabel.CENTER);


        title_panel.setLayout(new BorderLayout());
        title_panel.setBounds(0,0,800,100);


        title_panel.add(textField, BorderLayout.NORTH);
        frame.add(title_panel);
    }
}
卡米克

您嘗試設置內容窗格的背景:

frame.getContentPane().setBackground(Color.BLACK);

但是隨後您將“標題面板”添加到框架中:

frame.add(title_panel);

所以你的標題面板完全覆蓋了內容面板。

您需要設置標題面板的背景顏色。

代碼的其他問題:

  1. 不要在組件上使用 setBounds()。佈局管理器將確定每個組件的大小/位置。
  2. 您應該只在所有組件都添加到框架後調用 setVisible(...) 方法。
  3. pack()在使框架可見之前,您應該先設置框架。這將確保所有組件以其首選大小顯示。
  4. GUI 應該在Event Dispatch Thread (EDT).

閱讀Swing 教程的部分Concurrency將解釋為什麼這很重要。本教程中的所有示例都將演示如何確保代碼在 EDT 上。

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

更改 Java AWT 中已繪製圖形對象的顏色不起作用

導航欄背景顏色在 swift5 中不起作用

懸停時的背景顏色更改不起作用(jquery)

以編程方式設置 UIButton 的背景不起作用

TextFormField 邊框側邊顏色不起作用

HTMl 表:使用最大寬度旋轉單元格背景顏色不起作用

使用線性漸變在按鈕上設置背景顏色

設置 React 基本背景顏色,而顯示主要使用組件

如何以編程方式設置視圖形狀和背景顏色?

打開應用程序時設置DataList項的背景顏色

如何在 Flutter 的主小部件內為小部件設置背景顏色?

在 PDFBox 中設置文本顏色

映射列表中項目的 onClick() 顏色更改不起作用

角度密碼強度擴展顏色不起作用

while循環的條件在java中不起作用

Java Spring Boot 驗證消息不起作用

如果選中無線電輸入,則更改元素的顏色不起作用

更改java類中ImageView中圖標的顏色

Flutter:設置BottomAppBar()的邊緣顏色

在每列css中設置不同的顏色?

Java 執行 curl 命令對某些命令不起作用

實時數據庫 orderbyByChild(timeStamp) 不起作用 (android-java)

使用帶有彎曲圓角邊緣的漸變屬性在按鈕的一半上設置背景顏色

將 ggplot 的一些顏色設置為相同的顏色並去掉標籤

將 xlPrimary 和 xlSecondary 軸設置為百分比不起作用

內置應用程序在 Android 設備上運行時不起作用

嘗試使用 momentjs 設置日期格式 - 不起作用

粘性 CSS 設置不起作用,因為祖先 div 未填充可用高度

當屬性以“__”開頭時,屬性設置器不起作用?

TOP Liste

  1. 1

    Wie aktualisiere ich ein Feld in einer Raumdatenbank mit einem Repository und einem Ansichtsmodell?

  2. 2

    Wie füge ich mehrere Spalten in einer Spalte mit derselben Tabelle in SQL Server zusammen?

  3. 3

    Wie kann man Gitterquadrate dazu bringen, die Farbe zu ändern?

  4. 4

    Ich kann nicht verstehen, wie man Go-Code in mehreren Dateien kompiliert

  5. 5

    Zählen Sie die Vorkommen jedes Werts in einem Tupel in Python

  6. 6

    Gibt es eine sauberere Möglichkeit, Konstruktorargumente und Instanzeigenschaften einer Klasse in Typescript zu definieren?

  7. 7

    So implementieren Sie Pushwoosh mit ionic 2

  8. 8

    Wie wird der Wert im Dropdown-Menü basierend auf den ausgewählten Daten / IDs angezeigt?

  9. 9

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  10. 10

    Ändern Sie den Knotenpfad in das aktuelle Verzeichnis

  11. 11

    So erstellen Sie ein Array von Objekten aus zwei Arrays von Objekten mit einem gemeinsamen Schlüssel - JavaScript

  12. 12

    Rufen Sie die ID aus der Datagrid-Ansicht ab und zeigen Sie die Daten in Textfeldern einem anderen Formular an

  13. 13

    base js: Wie füge ich einem Objekt eine Eigenschaft auf die 'alte' Weise hinzu?

  14. 14

    Ersetze einen Teil einer Zeichenfolge durch eine Pandas-Spalte als Muster

  15. 15

    Blättern Sie auf Radio Click zur Abschnitts-ID

  16. 16

    CBCentralManager wird nach dem Verbinden neu gestartet

  17. 17

    Scherz, wie man eine Funktion verspottet, die von einer verspotteten Funktion zurückgegeben wird

  18. 18

    django-allauth Empfängersignal zum Hinzufügen einer Gruppenberechtigung zum Benutzer bei der Anmeldung

  19. 19

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  20. 20

    AQL: Teilweise Übereinstimmung in einer Reihe von Zeichenfolgen

  21. 21

    So summieren Sie die Werte zweier Tabellen und gruppieren sie nach Datum

heißlabel

Archiv