G
Guest
Gast
Hi an alle! Ich hab einen Fehler in meiner Applikation:
Ich will das Panel settings mit Klick auf Schrifteinstellungen einblenden, wie der Name schon sagt, einblenden.
Das funktioniert aber nicht, denn wenn ich auf Schrifteinstellungen einblenden klicke, verschwinden die Designs, aber sonst passiert nichts.
Schonmal vielen Dank für eure Hilfe,
hier der gesamte Quelltext:
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
Ich will das Panel settings mit Klick auf Schrifteinstellungen einblenden, wie der Name schon sagt, einblenden.
Das funktioniert aber nicht, denn wenn ich auf Schrifteinstellungen einblenden klicke, verschwinden die Designs, aber sonst passiert nichts.
Schonmal vielen Dank für eure Hilfe,
hier der gesamte Quelltext:
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
Code:
public class Writer extends Frame
implements WindowListener, ActionListener {
//Die privates
private String dname="Textdokument.txt";
private String dname2="1,10";
private Panel top;
private TextArea eingabeFeld;
private TextField datei;
private Button speichern;
private PrintWriter ausgabeDatei;
private Button Test;
private Panel bottom;
private Button Neu;
private Panel z;
private Button About;
private Button Datei;
private Panel settings;
private TextField SG;
private Button G;
private Button K;
private Color Farbe1;
private Color Farbe2;
private Button Help;
private Button kursiv;
private MenuItem ende;
private MenuItem ESchrift;
private MenuItem Eaus;
private MenuItem EDesign;
private Panel Designs;
private Button DRot;
private Button DGruen;
private Button DBlau;
private Button DGelb;
private Label hinweis1;
private Label onButton;
public static void main(String [] args) {
//Die Einstellungen
Writer test = new Writer();
test.setUndecorated(false); //Einstellung, um das Windows-Fenster zu entfernen.
test.setSize(900,500);
test.setVisible(true);
test.setTitle("Writer");
test.setBackground(Color.BLUE);
test.setForeground(Color.BLACK);
test.setLocation(0,0);
test.setCursor(HAND_CURSOR);
}
//Der Konstruktor
Writer() {
makeGui();
addWindowListener(this);
}
public void makeGui() {
//Die Panels
z = new Panel();
settings = new Panel();
settings.setLayout(new GridLayout(0,2));
settings.setVisible(true);
top = new Panel();
Designs = new Panel();
Designs.setVisible(true);
//Die Elemente fürs Speichern
speichern = new Button("Text speichern");
speichern.setBackground(Color.lightGray);
top.add(speichern);
speichern.addActionListener(this);
datei= new TextField(dname,20);
datei.setBackground(Color.lightGray);
top.add(datei);
add(BorderLayout.NORTH,top);
//Hier die zu definierenden Farben:
Farbe1 = new Color (128, 255, 255);
Farbe2 = new Color (0 , 128, 128);
//Das Eingabefeld
eingabeFeld = new TextArea(10,30);
add(BorderLayout.CENTER,eingabeFeld);
eingabeFeld.setBackground(Farbe1);
eingabeFeld.setForeground(Color.BLACK);
eingabeFeld.setFont(new Font("Comic Sans MS", Font.PLAIN, 15));
//Einige Zusatz -Buttons, -TextFields, -Menüs und sonstiges
Test = new Button("Writer schließen");
top.add(Test);
add(BorderLayout.SOUTH,top);
Test.setBackground(Color.lightGray);
Test.addActionListener(this);
Neu = new Button("Neu");
z.add(Neu);
add(BorderLayout.NORTH,z);
Neu.setBackground(Color.lightGray);
Neu.addActionListener(this);
About = new Button("{about}");
z.add(About);
add(BorderLayout.NORTH,z);
About.setBackground(Color.lightGray);
G = new Button("GROSSE SCHRIFTGRÖSSE");
settings.add(G);
add(BorderLayout.EAST,settings);
G.setBackground(Color.lightGray);
G.addActionListener(this);
K = new Button("kleine schriftgröße");
settings.add(K);
add(BorderLayout.EAST,settings);
K.setBackground(Color.lightGray);
K.addActionListener(this);
Help = new Button("Hilfe");
settings.add(Help);
add(BorderLayout.EAST,settings);
Help.setBackground(Color.lightGray);
Help.addActionListener(this);
kursiv = new Button("K");
settings.add(kursiv);
add(BorderLayout.EAST,settings);
kursiv.setBackground(Color.lightGray);
kursiv.addActionListener(this);
eingabeFeld.setFont(new Font("Comic Sans MS", Font.ITALIC, 10));
hinweis1 = new Label();
hinweis1.setText("Stellen Sie die Farbe des Textfeldes ein:");
Designs.add(hinweis1);
add(BorderLayout.EAST,Designs);
hinweis1.setBackground(Color.BLUE);
DRot = new Button("");
Designs.add(DRot);
add(BorderLayout.EAST,Designs);
DRot.setBackground(Color.RED);
DRot.addActionListener(this);
//Das Menü am oberen Applikationsrand
MenuBar hauptMenue = new MenuBar();
Menu menue1 = new Menu("Datei");
Menu menue2 = new Menu("Programmbedienung");
Menu menue3 = new Menu("Hilfe");
Menu menue4 = new Menu("About");
Menu menue5 = new Menu("Erweiterte Einstellungen");
menue1.add("Öffnen");
menue1.addSeparator();
ende = new MenuItem("Ende");
ende.addActionListener(this);
menue1.add(ende);
menue2.add("Designs");
menue3.add("Hilfe im Eingabefeld");
menue3.addSeparator();
menue3.add("About");
menue3.add("FAQ");
menue3.add("Kontakt");
menue4.add("Version");
menue4.add("Programmierung");
ESchrift = new MenuItem("Schrifteinstellungen einblenden");
ESchrift.addActionListener(this);
menue5.add(ESchrift);
EDesign = new MenuItem("Designeinstellungen einblenden");
EDesign.addActionListener(this);
menue5.add(EDesign);
menue5.addSeparator();
Eaus = new MenuItem("Einstellungen ausblenden");
Eaus.addActionListener(this);
menue5.add(Eaus);
hauptMenue.add(menue1);
hauptMenue.add(menue2);
hauptMenue.add(menue3);
hauptMenue.add(menue5);
hauptMenue.setHelpMenu(menue4);
setMenuBar(hauptMenue);
}
//Die ActionListener
public void actionPerformed(ActionEvent event) {
if (event.getSource() == speichern) {
try {
/* Zuerst wir eine Instanz von Writer gebildet:
sie schreibt Zeichen in eine Ausgabedatei
true: neue Daten werden angehängt!
PrintWriter:zeilenorientierte Ausgabe der Zeichen
wird vorher erzeugt
*/
ausgabeDatei = new PrintWriter (new FileWriter(datei.getText(), true));
ausgabeDatei.print(eingabeFeld.getText() );
ausgabeDatei.close();
}
catch (IOException e) {
System.err.println("Dateifehler "+e.toString() );
/*-------------------------------------------------------------------
* Der Aufruf von e.toString() ist unnötig, es reicht, e aufzurufen, die
* Umwandlung passiert dann automatisch.
*-------------------------------------------------------------------
*/
System.exit(1);
}
}
else if (event.getSource() == Neu) {
eingabeFeld.setText("");
}
else if (event.getSource() == Help) {
eingabeFeld.setText("Hier entsteht der Hilfetext.");
}
else if (event.getSource() == K) {
eingabeFeld.setFont (new Font("Comic Sans MS", Font.PLAIN, 15));
}
else if (event.getSource() == G) {
eingabeFeld.setFont (new Font("Comic Sans MS", Font.PLAIN, 20));
}
else if (event.getSource() == kursiv) {
eingabeFeld.setFont (new Font("Comic Sans MS", Font.ITALIC, 20));
}
else if (event.getSource() == Test) {
System.exit(1);
}
else if (event.getSource() == ende) {
System.exit(1);
}
else if (event.getSource() == ESchrift) {
Designs.setVisible(false);
}
else if (event.getSource() == DRot) {
eingabeFeld.setBackground(Color.RED);
hinweis1.setText("Sie haben die Farbe auf Rot geändert.");
}
else if (event.getSource() == EDesign) {
settings.setVisible(false);
Designs.setVisible(true);
}
else if (event.getSource() == Eaus) {
settings.setVisible(false);
Designs.setVisible(false);
}
}
public void windowClosing(WindowEvent e) {
System.exit(0);
}
public void windowOpened(WindowEvent e) { }
public void windowIconified(WindowEvent e) { }
public void windowClosed(WindowEvent e) { }
public void windowDeiconified(WindowEvent e) { }
public void windowActivated(WindowEvent e) { }
public void windowDeactivated(WindowEvent e) { }
} // class