Hallo zusammen,
ich bin neu in der Java Programmierung und versuche nun, mithilfe eines Menüs, die Hintergrundfarbe im Fenster zu verändern. DOch irgendwie klappt das nicht. Habe immer noch Probleme mit Zuweisungen der ActionListener etc. Eclipse gibt immer eine Fehlermeldung im ActionListener "hinter" bei Objekt MeinFenster, mit der meldung "cannot be resolved". Hier mal mein Code:
import java.awt.Color;
import java.awt.Frame;
import java.awt.Menu;
import java.awt.event.*;
import java.awt.*;
public class VB1 {
public static void main(String[] args)
{
ActionListener al = new ActionListener() {
public void actionPerformed( ActionEvent e )
{
System.exit(0);
}
};
ActionListener hinter = new ActionListener() {
public void actionPerformed( ActionEvent e )
{
String s = e.getActionCommand();
if (s == "Gelb")
{
MeinFenster.setBackground(Color.YELLOW);
}
if (s == "Blau")
{
MeinFenster.setBackground(Color.BLUE);
}
if (s == "Rot")
{
MeinFenster.setBackground(Color.RED);
}
if (s == "Grün")
{
MeinFenster.setBackground(Color.GREEN);
}
}
};
/*WindowAdapter exit = new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
};*/
//String s = e.getActionCommand();
Frame MeinFenster = new Frame();
MenuBar Menu = new MenuBar();
Menu Farbe = new Menu("Farbe");
Menu Schriftfarbe = new Menu("Schriftfarbe");
Menu Hintergrundfarbe = new Menu("Hintergrundfarbe");
Menu Exit = new Menu("Exit");
Farbe.add(Schriftfarbe);
Farbe.add(Hintergrundfarbe);
Hintergrundfarbe.add("Rot");
Hintergrundfarbe.add("Gelb");
Hintergrundfarbe.add("Grün");
Hintergrundfarbe.add("Blau");
Farbe.addActionListener(hinter);
Schriftfarbe.add("Rot");
Schriftfarbe.add("Gelb");
Schriftfarbe.add("Grün");
Schriftfarbe.add("Blau");
Exit.add("Fenster Schließen");
Exit.addActionListener(al);
//Fenster Schließen.exit;
MeinFenster.setTitle("Farbmenü");
MeinFenster.setSize(300,300);
MeinFenster.setBackground(Color.RED);
MeinFenster.setResizable(false);
MeinFenster.setLocation(2,5);
MeinFenster.setVisible(true);
//Hintergrundfarbe.setBackground(Color.BLUE);
Menu.add(Farbe);
Menu.add(Exit);
MeinFenster.setMenuBar(Menu);
}
};
Vielleicht kannmir jemand zeigen was ich falsch mache......
ich bin neu in der Java Programmierung und versuche nun, mithilfe eines Menüs, die Hintergrundfarbe im Fenster zu verändern. DOch irgendwie klappt das nicht. Habe immer noch Probleme mit Zuweisungen der ActionListener etc. Eclipse gibt immer eine Fehlermeldung im ActionListener "hinter" bei Objekt MeinFenster, mit der meldung "cannot be resolved". Hier mal mein Code:
import java.awt.Color;
import java.awt.Frame;
import java.awt.Menu;
import java.awt.event.*;
import java.awt.*;
public class VB1 {
public static void main(String[] args)
{
ActionListener al = new ActionListener() {
public void actionPerformed( ActionEvent e )
{
System.exit(0);
}
};
ActionListener hinter = new ActionListener() {
public void actionPerformed( ActionEvent e )
{
String s = e.getActionCommand();
if (s == "Gelb")
{
MeinFenster.setBackground(Color.YELLOW);
}
if (s == "Blau")
{
MeinFenster.setBackground(Color.BLUE);
}
if (s == "Rot")
{
MeinFenster.setBackground(Color.RED);
}
if (s == "Grün")
{
MeinFenster.setBackground(Color.GREEN);
}
}
};
/*WindowAdapter exit = new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
};*/
//String s = e.getActionCommand();
Frame MeinFenster = new Frame();
MenuBar Menu = new MenuBar();
Menu Farbe = new Menu("Farbe");
Menu Schriftfarbe = new Menu("Schriftfarbe");
Menu Hintergrundfarbe = new Menu("Hintergrundfarbe");
Menu Exit = new Menu("Exit");
Farbe.add(Schriftfarbe);
Farbe.add(Hintergrundfarbe);
Hintergrundfarbe.add("Rot");
Hintergrundfarbe.add("Gelb");
Hintergrundfarbe.add("Grün");
Hintergrundfarbe.add("Blau");
Farbe.addActionListener(hinter);
Schriftfarbe.add("Rot");
Schriftfarbe.add("Gelb");
Schriftfarbe.add("Grün");
Schriftfarbe.add("Blau");
Exit.add("Fenster Schließen");
Exit.addActionListener(al);
//Fenster Schließen.exit;
MeinFenster.setTitle("Farbmenü");
MeinFenster.setSize(300,300);
MeinFenster.setBackground(Color.RED);
MeinFenster.setResizable(false);
MeinFenster.setLocation(2,5);
MeinFenster.setVisible(true);
//Hintergrundfarbe.setBackground(Color.BLUE);
Menu.add(Farbe);
Menu.add(Exit);
MeinFenster.setMenuBar(Menu);
}
};
Vielleicht kannmir jemand zeigen was ich falsch mache......