Frame Hintergrundfarbe ändern?

L

logikor

hallo erstmal, schonmal vorab bin total neu auf dem gebiet java und generell programmieren. ich muss für meinen praktischen info-kurs ein fenster erstellen, in dem zunächst die hintergrundfarbe über die menüleiste geändert werden kann. Da liegt auch schon mein problem die methode setBackground scheint hier von mir falsch eingebaut worden zu sein... bitte um jede hilfe...DANKE hier mein kot:

import java.awt.*;
import java.awt.event.*;
import java.awt.Color;


public class grafikDesigner extends Frame implements ActionListener
{



public void actionPerformed(ActionEvent e)
{
String befehl = e.getActionCommand();
if (befehl.equals("Blau"))
{
setBackground(Color.BLUE);
System.out.println("BLAU");
}
else if(befehl.equals("Gelb"))
{
setBackground(Color.YELLOW);
System.out.println("GELB");
}
else if(befehl.equals("Magenta"))
{
setBackground(Color.MAGENTA);
System.out.println("MAGENTA");
}
repaint();
}
}
class WindowQuitter extends WindowAdapter {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}



...und hier die main:


import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Color;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;


public class test
{

public static void main(String[] args)
{
grafikDesigner gd = new grafikDesigner();
gd.setVisible(true);
gd.setTitle("Grafik Designer");
gd.setSize(300, 300);


MenuItem bl = new MenuItem("Blau");
MenuItem ge = new MenuItem("Gelb");
MenuItem mg = new MenuItem("Magenta");


Menu HF = new Menu("Hintergrundfarbe");
Menu ZE = new Menu("Zeichnen");

HF.add(bl);
HF.add(ge);
HF.add(mg);



MenuBar MenueLeiste = new MenuBar();

MenueLeiste.add(HF);
MenueLeiste.add(ZE);

gd.setMenuBar(MenueLeiste);

grafikDesigner m = new grafikDesigner();
bl.addActionListener(m);
ge.addActionListener(m);
mg.addActionListener(m);

WindowQuitter wquit = new WindowQuitter();
gd.addWindowListener(wquit);

}

}
 
Hi,
ein Frame ist aus verschiedenen Panels aufgebaut. Komponenten werden immer automatisch auf das ContentPane gesetzt. Um die Hintergrundfarbe des ContentPanes zu ändern brauchst Du aber folgenden Code:
Java:
frame.getContentPane().setBackground(Color.BLUE);
Ich hoffe ich konnte dir helfen.
Ciao
DosCoder
 
Zurück