簡體   English   中英

在Java中創建可見框架?

[英]Creating a visible frame in Java?

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

class apples{
public static void main(String args[]) {
    // creating black background
    JFrame start = new JFrame("TatteredLands");
    start.getContentPane().setVisible(true);
    start.getContentPane().setBackground(Color.black);

}

}

是因為,我必須設置框架的大小或這不起作用的東西?

不要將內容窗格設置為可見,將框架設置為可見。 沒有實際框架,內容框架就沒有了。

start.setVisible(true);

而且,優選不設置框架的尺寸。 而是調用start.pack() ,它將打包框架以尊重添加到框架中的所有組件的首選大小。

基本上,您需要確保將框架本身設置為可見,因為默認情況下它是false的。

JFrame基本上只是一種特殊類型的Component ,所以就像你可以看到一個Component ,框架也是如此......

public static void main(String args[]) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {
            // creating black background
            JFrame start = new JFrame("TatteredLands");
            start.getContentPane().setVisible(true);
            start.getContentPane().setBackground(Color.black);
            start.pack();
            start.setLocationRelativeTo(null);
            start.setVisible(true);
        }
    }
}

還應該看一下Initial Threads並確保在Event Dispatching Thread的上下文中啟動UI

我還建議花些時間閱讀使用JFC / Swing創建GUI

我建議如果你是Java新手,你下載了一個像Eclipse這樣的IDE,它們可以讓你看到對象包含哪些方法,我是否需要解釋會節省多少麻煩?
JFrame的內容窗格是其中的內容,通常稱為“容器”,因此您在錯誤的對象上調用setVisible() 你想要start.setVisible(true)

你應該將JFrame設置為true,如start.setVisible(true);

    JFrame start = new JFrame("TatteredLands");
    start.setVisible(true);
    start.setBounds(0, 0, width, height);
    // add other initialization operations here...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM