2014-01-15 2 views
0
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); 

} 

}Создание видимого фрейма в Java?

Это потому, что я должен установить размер кадра или что-то, что это не работает?

+0

установите видимость вашего кадра с '.setVisible (истина);' – Rugal

+0

@Rugal Пожалуйста, воздержитесь от ответов на вопросы в комментариях. –

+0

@LeeAllan есть какие-то правила по этому поводу? – Rugal

ответ

1

В основном вы должны убедиться, что вы сами устанавливаете рамку, так как это 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 и убедитесь, что вы начиная вы УИ в контексте события Диспетчерская Пропустите

Я также предлагаю, принимая какое-то время, чтобы прочитать Creating a GUI With JFC/Swing

1

Не устанавливайте панель содержимого видимой, установите рамку на вид. Рамка содержимого ничем не отличается от фактического кадра.

start.setVisible(true); 

Кроме того, предпочтительно не устанавливать размер рамки. Вместо этого вызовите start.pack(), и он упакует фрейм для соблюдения предпочтительных размеров всех компонентов, добавленных в фрейм.

0

Я предлагаю, если вам «Новы для Java, которые вы загружаете в IDE, такие как Eclipse, они позволяют вам видеть, какие объекты объектов содержат, я должен объяснить, сколько проблем сэкономит?
Область содержимого JFrame - это то, что находится внутри него, обычно называемое «контейнером», поэтому вы вызываете setVisible() на неправильный объект. Вы хотите start.setVisible(true).

0

вы должны установить JFrame видимым верно как start.setVisible(true);

0
JFrame start = new JFrame("TatteredLands"); 
    start.setVisible(true); 
    start.setBounds(0, 0, width, height); 
    // add other initialization operations here... 
Смежные вопросы