F
Firephoenix
Gast
viel gesucht und in meinem Buch geblättert und ich komme nicht auf meinen Fehler ;(
Eine Java-Datei, 2 Klassen:
Fenster erzeugt ein einfaches Fenster mit 2 Buttons, Fenster_Aktionen soll nun die Funktionalität der Buttons steuern, dazu habe ich den auskommentierten Teil in die Klasse überschrieben und die Action listener der Buttons angepasst.
Das Problem ist jetzt (wie ich vermute): Die Klasse Fenster_Aktionen erlaubt den Zugriff auf Window.setBackground nicht... zumindest nicht über die Buttons.
Das Problem sind Zeile 69 und 75
Hättet ihr einen Vorschlag wie ich es schaffe Manipulationen im Fenster der 1. Klasse mit der 2. Klasse vorzunehmen, die die Events der Buttons aus Klasse 1 abfängt?
Bin seit über ner Stunde auf der Suche nach ner Lösung und komme nicht weiter, der Rest vom Programm steht schon (war ne alte eigene Übung), nur da ich gerade an Grafikübungen bin würde ich es gerne auf eine Oberfläche übertragen. Und ohne eine GUI die ich ordentlich aufbauen und manipulieren kann geht das leider nicht, dazu fehlt mir aber die Erfahrung.
Danke für Hilfe/Antworten
Lg,
Firephoenix
Eine Java-Datei, 2 Klassen:
Fenster erzeugt ein einfaches Fenster mit 2 Buttons, Fenster_Aktionen soll nun die Funktionalität der Buttons steuern, dazu habe ich den auskommentierten Teil in die Klasse überschrieben und die Action listener der Buttons angepasst.
Das Problem ist jetzt (wie ich vermute): Die Klasse Fenster_Aktionen erlaubt den Zugriff auf Window.setBackground nicht... zumindest nicht über die Buttons.
Das Problem sind Zeile 69 und 75
Java:
import java.awt.*;
import java.awt.event.*;
import java.awt.Graphics;
public class Fenster
extends Frame
{
/**
*
*/
private static final long serialVersionUID = 1L;
public static void main(String[] args) {
// TODO Auto-generated method stub
Fenster_Aktionen F_A = new Fenster_Aktionen();
Fenster Window = new Fenster(F_A);
Window.setVisible(true);
}
public Fenster(ActionListener F_A)
{
super("Aufzug");
addWindowListener(new WindowClosingAdapter(true));
setBackground(Color.ORANGE);
setSize(500,600);
setLayout(null);
Button B0 =new Button("Erdgeschoss");
B0.setBounds(50, 60, 100, 30);
B0.addActionListener(F_A);
add(B0);
Button B1 =new Button("Stockwerk 1");
B1.setBounds(50, 120, 100, 30);
B1.addActionListener(F_A);
add(B1);
}
/*
public void actionPerformed(ActionEvent event)
{
String cmd = event.getActionCommand();
if (cmd.equals("Erdgeschoss"))
setBackground(Color.BLACK);
else
{
//nichts
}
if (cmd.equals("Stockwerk 1"))
setBackground(Color.GREEN);
else
{
//nichts
}
}
*/
}
class Fenster_Aktionen
implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
String cmd = event.getActionCommand();
if (cmd.equals("Erdgeschoss"))
Window.setBackground(Color.BLACK);
else
{
//nichts
}
if (cmd.equals("Stockwerk 1"))
Window.setBackground(Color.GREEN);
else
{
//nichts
}
}
}
Hättet ihr einen Vorschlag wie ich es schaffe Manipulationen im Fenster der 1. Klasse mit der 2. Klasse vorzunehmen, die die Events der Buttons aus Klasse 1 abfängt?
Bin seit über ner Stunde auf der Suche nach ner Lösung und komme nicht weiter, der Rest vom Programm steht schon (war ne alte eigene Übung), nur da ich gerade an Grafikübungen bin würde ich es gerne auf eine Oberfläche übertragen. Und ohne eine GUI die ich ordentlich aufbauen und manipulieren kann geht das leider nicht, dazu fehlt mir aber die Erfahrung.
Danke für Hilfe/Antworten
Lg,
Firephoenix