G
Guest
Gast
Hi!
Ich hab ein Programm geschrieben, mit dem man Texte editieren kann. Nun zu meiner Frage:
Ich will den Hintergrund per Knopfdruck verändern. Das funktioniert auch gut. Nur mein Problem ist, das der Hintergrund erst dann verändert wird, wenn man das Programm entweder ein Stück aus dem Bildschirm schiebt, oder es kleiner oder größer zieht.
Schonmal thx für eure Antworten.
Hier der Quelltext: (Er könnte euch bekannt sein)
Ich hab ein Programm geschrieben, mit dem man Texte editieren kann. Nun zu meiner Frage:
Ich will den Hintergrund per Knopfdruck verändern. Das funktioniert auch gut. Nur mein Problem ist, das der Hintergrund erst dann verändert wird, wenn man das Programm entweder ein Stück aus dem Bildschirm schiebt, oder es kleiner oder größer zieht.
Schonmal thx für eure Antworten.
Hier der Quelltext: (Er könnte euch bekannt sein)
Code:
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
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 Button DRueckgaengig;
private Label hinweis2;
private Label leer1;
private Button DRot2;
private Button DGruen2;
private Button DBlau2;
private Button DGelb2;
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);
Designs.setLayout(new FlowLayout(FlowLayout.LEFT));
Designs.setPreferredSize(new Dimension(300, 100));
//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);
hinweis1.setPreferredSize(new Dimension(250, 20));
DRot = new Button("R");
Designs.add(DRot);
add(BorderLayout.EAST,Designs);
DRot.setBackground(Color.RED);
DRot.addActionListener(this);
DRot.setPreferredSize(new Dimension(50, 20));
DGruen = new Button("G");
Designs.add(DGruen);
add(BorderLayout.EAST,Designs);
DGruen.setBackground(Color.GREEN);
DGruen.addActionListener(this);
DGruen.setPreferredSize(new Dimension(50, 20));
DBlau = new Button("B");
Designs.add(DBlau);
add(BorderLayout.EAST,Designs);
DBlau.setBackground(Color.BLUE);
DBlau.addActionListener(this);
DBlau.setPreferredSize(new Dimension(50, 20));
DGelb = new Button("G");
Designs.add(DGelb);
add(BorderLayout.EAST,Designs);
DGelb.setBackground(Color.YELLOW);
DGelb.addActionListener(this);
DGelb.setPreferredSize(new Dimension(50, 20));
DRueckgaengig = new Button("Rückgängig");
Designs.add(DRueckgaengig);
add(BorderLayout.EAST,Designs);
DRueckgaengig.setBackground(Color.lightGray);
DRueckgaengig.addActionListener(this);
leer1 = new Label();
leer1.setText("_________________________");
Designs.add(leer1);
add(BorderLayout.EAST,Designs);
leer1.setForeground(Color.lightGray);
leer1.setBackground(Color.BLUE);
leer1.setPreferredSize(new Dimension(250, 20));
hinweis2 = new Label();
hinweis2.setText("Stellen Sie die Farbe des Hintergrundes ein:");
Designs.add(hinweis2);
add(BorderLayout.EAST,Designs);
hinweis2.setBackground(Color.BLUE);
hinweis2.setPreferredSize(new Dimension(300, 20));
DRot2 = new Button("R");
Designs.add(DRot2);
add(BorderLayout.EAST,Designs);
DRot2.setBackground(Color.RED);
DRot2.addActionListener(this);
DRot2.setPreferredSize(new Dimension(50, 20));
DGruen2 = new Button("G");
Designs.add(DGruen2);
add(BorderLayout.EAST,Designs);
DGruen2.setBackground(Color.GREEN);
DGruen2.addActionListener(this);
DGruen2.setPreferredSize(new Dimension(50, 20));
DBlau2 = new Button("B");
Designs.add(DBlau2);
add(BorderLayout.EAST,Designs);
DBlau2.setBackground(Color.BLUE);
DBlau2.addActionListener(this);
DBlau2.setPreferredSize(new Dimension(50, 20));
DGelb2 = new Button("G");
Designs.add(DGelb2);
add(BorderLayout.EAST,Designs);
DGelb2.setBackground(Color.YELLOW);
DGelb2.addActionListener(this);
DGelb2.setPreferredSize(new Dimension(50, 20));
//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);
add(BorderLayout.EAST,settings);
settings.setVisible(true);
validate();
}
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);
add(BorderLayout.EAST,Designs);
validate();
}
else if (event.getSource() == Eaus) {
settings.setVisible(false);
Designs.setVisible(false);
}
else if (event.getSource() == DGruen) {
eingabeFeld.setBackground(Color.GREEN);
hinweis1.setText("Sie haben die Farbe auf Grün geändert.");
}
else if (event.getSource() == DBlau) {
eingabeFeld.setBackground(Color.BLUE);
hinweis1.setText("Sie haben die Farbe auf Blau geändert.");
}
else if (event.getSource() == DGelb) {
eingabeFeld.setBackground(Color.YELLOW);
hinweis1.setText("Sie haben die Farbe auf Gelb geändert.");
}
else if (event.getSource() == DRueckgaengig) {
eingabeFeld.setBackground(Farbe1);
hinweis1.setText("Sie haben die Standardfarbe gewählt.");
}
else if (event.getSource() == DGruen2) {
setBackground(Color.GREEN);
hinweis2.setText("Sie haben die Hintergrundfarbe auf Grün geändert.");
hinweis2.setBackground(Color.GREEN);
hinweis1.setBackground(Color.GREEN);
leer1.setBackground(Color.GREEN);
}
else if (event.getSource() == DBlau2) {
setBackground(Color.BLUE);
hinweis2.setText("Sie haben die Hintergrundfarbe auf Blau geändert.");
hinweis2.setBackground(Color.BLUE);
hinweis1.setBackground(Color.BLUE);
leer1.setBackground(Color.BLUE);
}
else if (event.getSource() == DGelb2) {
setBackground(Color.YELLOW);
hinweis2.setText("Sie haben die Hintergrundfarbe auf Gelb geändert.");
hinweis2.setBackground(Color.YELLOW);
hinweis1.setBackground(Color.YELLOW);
leer1.setBackground(Color.YELLOW);
}
else if (event.getSource() == DRot2) {
setBackground(Color.RED);
hinweis2.setText("Sie haben die Hintergrundfarbe auf Rot geändert.");
hinweis2.setBackground(Color.RED);
hinweis1.setBackground(Color.RED);
leer1.setBackground(Color.RED);
}
}
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