2013-11-24 4 views
1

Я нахожусь в середине приложения, и фон выглядит просто. Я попытался установить фон, используя код моего знания, которое просто:Настройка цвета BackGround [JAVA]

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

Full:

JFrame frame = new JFrame("HC Navigator"); 
    frame.setVisible(true); 
    frame.setSize(250, 200); 
    frame.getContentPane().setBackground(Color.BLUE); // Colour Set Here 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

Теперь, когда я запускаю, что она открывает окно с синим фоном, но затем как только он загружает кнопки/Jpanels, фон возвращается к белому.

Главная панель/JFrame Код:

package me.jamplifier; 

import java.awt.BorderLayout; 
import java.awt.Color; 
import java.awt.EventQueue; 
import java.awt.FlowLayout; 
import java.awt.Font; 
import java.awt.Image; 
import java.awt.Toolkit; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import java.awt.image.BufferedImage; 
import java.io.IOException; 
import java.io.InputStream; 
import java.util.ArrayList; 
import java.util.List; 

import javax.imageio.ImageIO; 
import javax.swing.BoxLayout; 
import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 
import javax.swing.JScrollPane; 
import javax.swing.JTextArea; 
import javax.swing.JTextField; 
import javax.swing.ScrollPaneConstants; 
import javax.swing.UIManager; 
import javax.swing.UnsupportedLookAndFeelException; 
import javax.swing.text.DefaultCaret; 

public class Launcher extends JFrame { 



    // Main Class Area (Default/Main Windows) 
     public Launcher(){ 

     // Main Window 
     JFrame frame = new JFrame("HC Navigator"); 
     frame.setSize(250, 200); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.setVisible(true); 
     // Text Labels 
     JLabel label = new JLabel("Beta 1.5  "); 
     JLabel label1 = new JLabel("Welcome to HurricaneCraft"); 
     JPanel panel = new JPanel(); 
     frame.add(panel); 
     panel.add(label); 
     panel.add(label1); 

     Font font = new Font("Verdana", Font.BOLD, 12); 
     label1.setFont(font); 
     label1.setForeground(Color.RED); 
     label.setFont(font); 
     label.setForeground(Color.GRAY); 

     // Buttons 
     JButton site = new JButton("Site"); 
     site.addActionListener(new ActionListener() 
     { 
      public void actionPerformed(ActionEvent e) 
      { 
       openWebPage("http://www.hurricanecraft.com"); 
      } 
     }); 

     JButton forums = new JButton("Forums"); 
     forums.addActionListener(new ActionListener() 
     { 
      public void actionPerformed(ActionEvent e) 
      { 
       openWebPage("http://www.hurricanecraft.com/forums/"); 
      } 
     }); 
     JButton apps = new JButton("Member Apps"); 
     apps.addActionListener(new ActionListener() 
     { 
      public void actionPerformed(ActionEvent e) 
      { 
       openWebPage("http://hurricanecraft.freeforums.org/member-registration-f29.html"); 
      } 
     }); 
     JButton community = new JButton("Community"); 
     community.addActionListener(new ActionListener() 
     { 
      public void actionPerformed(ActionEvent e) 
      { 
       createFrame2(); 
      } 
     }); 
     JButton admin = new JButton("Admin Area"); 
     admin.addActionListener(new ActionListener() 
     { 
      public void actionPerformed(ActionEvent e) 
      { 
       createFrame(); 
      } 
     }); 
     JButton update = new JButton("Update Log"); 
     update.addActionListener(new ActionListener() 
     { 
      public void actionPerformed(ActionEvent e) 
      { 
       createFrame1(); 
      } 
     }); 
     panel.add(site); 
     panel.add(forums); 
     panel.add(community); 
     panel.add(apps); 
     panel.add(admin); 
     panel.add(update); 


    } 
+1

Место 'frame.setVisible (true);' last, посмотрите, что произойдет. –

+0

Для лучшей помощи скорее опубликуйте [SSCCE] (http://sscce.org/) – Reimeus

+0

Не работает. Он по-прежнему загружает фон, а затем заменяется кнопками и панелью. – Jahshua

ответ

2

При добавлении панели в JFrame она занимает все точки зрения. Вместо изменения цвета JFrame ContentPane попробуйте изменить цвет фона панели.

+0

Спасибо, это сработало! : D – Jahshua

+0

Добро пожаловать! – puk

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