[英]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.