Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich möchte gerne ein java-programm schreiben in dem man in einer Menüleiste per Druck auf "Drucken" einen Button namens "knopf" verschwinden lässt.
Leider wird bei mir in ActionPerformed "knopf" nicht erkannt.
Code:
import java.awt.*;
import java.awt.event.*;
public class Texteingabe extends Frame implements ActionListener, WindowListener
{
public static void main(String args[])
{
Texteingabe Fenster1 = new Texteingabe();
Fenster1.setSize(400, 300);
Fenster1.setLocation(250, 200);
Fenster1.setTitle("menueFenster");
Fenster1.show();
}
public Texteingabe()
{
MenuBar hauptMenue = new MenuBar();
Menu menue1 = new Menu("datei");
Menu menue2 = new Menu("bearbeiten");
Menu menue3 = new Menu("ansicht");
Menu menue4 = new Menu("hilfe");
menue1.add("neu");
menue1.add("laden...");
menue1.add("speichern unter...");
menue1.addSeparator();
menue1.add("drucken...");
menue1.addSeparator();
menue1.add("beenden");
menue4.add("index");
menue4.add("ueber");
hauptMenue.add(menue1);
hauptMenue.add(menue2);
hauptMenue.add(menue3);
hauptMenue.setHelpMenu(menue4);
Button knopf = new Button("hallo");
knopf.setSize(200,400);
add(knopf);
setMenuBar(hauptMenue);
menue1.addActionListener(this);
knopf.addActionListener(this);
addWindowListener(this);
}
public void actionPerformed(ActionEvent evt)
{
if (evt.getSource() instanceof MenuItem)
{
String menuAdd = evt.getActionCommand();
if (menuAdd == "beenden") System.exit(0);
if (menuAdd == "drucken") knopf.setVisible (false) ;
}
}
public void windowClosing(WindowEvent evt)
{
System.exit(0);
}
public void windowOpened(WindowEvent evt){}
public void windowIconified(WindowEvent evt){}
public void windowDeiconified(WindowEvent evt){}
public void windowClosed(WindowEvent evt){}
public void windowActivated(WindowEvent evt){}
public void windowDeactivated(WindowEvent evt){}
}
Ich würde mich freuen wenn Ihr mir helfen könnt, sitze gerade im Informatikunterricht und komme einfach nicht weiter
und knopf muss als Exemplarvariable/ Klassenattribut definiert sein,
du kannst nicht wild lokale Variablen anderen Operation/ Klassen/ gar anderer Programme/ Computer referenzieren
und knopf muss als Exemplarvariable/ Klassenattribut definiert sein,
du kannst nicht wild lokale Variablen anderen Operation/ Klassen/ gar anderer Programme/ Computer referenzieren
public class Test
{
private String a;
public Test()
{
a = "Hello";
String b = "World";
}
public void xy()
{
System.out.println(this.a); // klappt (auch ohne this.)
System.out.println(b); // häh? wat is b??
}
}
damit sie nicht public = öffentlich ist sondern privat, geht nämlich außerhalb von Test niemanden etwas an,
und wenn doch, dann kann man ja eine get-Operation (public) schreiben