2013-04-18 3 views
0

Итак, я пытаюсь отобразить простой JFrame, но я не могу изменить цвет фона? Проделали несколько поисков, и все они предлагают использовать useContentPane, которые у меня есть.Цвет фона JFrame не изменится?

import java.awt.*; 

import javax.swing.*; 


public class Login { 

    public static void main(String[] args) { 

     createWindow(); 

     } 

    private static void createWindow() { 
     JFrame frame = new JFrame("Login System"); 
     frame.getContentPane().setBackground(Color.darkGray); 
     frame.setSize(350, 350);  
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     JTextField username = new JTextField(); 
     frame.add(username); 
     frame.setVisible(true); 
    } 


} 

Работы JFrame размера, но фон не и TextField не делает, довольно новыми для этого. Есть идеи? Вся помощь приветствуется.

+1

'JTextField' занимает всю площадь' JFrame' ... – Reimeus

+0

@Reimeus hahaha, я попытался изменить размеры. username.setSize (100, 280); Я уверен, что это неправильно. – Vernard

ответ

4

Код работает нормально. Проблема в том, что ваше текстовое поле занимает весь кадр. Попробуйте:

//frame.add(username); 
frame.add(username, BorderLayout.NORTH); 
+0

спасибо! В любом случае, чтобы использовать определенные координаты для его положения? – Vernard

+0

* «Использовать определенные координаты, чтобы разместить его?» * Нет. Используйте макеты, или ваши следующие несколько вопросов будут касаться того, почему ваш графический интерфейс ломается на следующем компьютере или запускается. –

0

Проблема с кодом, что ваше текстовое поле покрывает всю JFrame

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

getContentPane(). SetBackground (Color.BLACK);

Смежные вопросы