package javacodebook.gui.change; import java.awt.*; import java.awt.event.*; import javax.swing.*; /** * @author Benjamin Rusch * * Dieses Frame besitzt ein anderes Logo oben links in der Ecke. * Um dem Frame ein neues Icon zuzuweisen, muss dass Icon auf dem Filesystem * richtig referenziert werden (entweder relativ vom Java Aufruf, oder absolut * im Filesystem). * Gekapselt wird dieses Icon in einem Image Object, welches im Frame gesetzt * werden kann. */ public class LogoFrame extends Frame { /** * Konstruktor von LogoFrame. */ public LogoFrame(String title) { super(title); // Beim Klicken des Schließen-Buttons vom HauptFenster // wird das Programm beendet. this.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent we) { System.exit(0); } }); // Image-Objekt welches das jpg-File kapselt wird erstellt. Image icon = Toolkit.getDefaultToolkit().getImage("sphere.jpg"); // Image objekt wird dem Frame zugewiesen. this.setIconImage(icon); } } --- Neue Klasse --- package javacodebook.gui.change; /** * @author Benjamin Rusch * In der Starter Klasse mit der main Methode werden zwei Frames, * LogoFrame und CleanFrame, erzeugt. */ public class Starter { public static void main(String[] args) { // AWT Frame wird erstellt LogoFrame rf = new LogoFrame("Fenster mit anderem Logo"); rf.setSize(300,300); rf.setVisible(true); CleanFrame cf = new CleanFrame(); cf.setSize(300,300); cf.setLocation(30,30); cf.setVisible(true); // Swing Frame wird erstellt ChangedComponentsJFrame sf = new ChangedComponentsJFrame("Fenster "+ "mit veränderten Komponenten"); sf.setSize(300,300); sf.setLocation(60,60); sf.setVisible(true); } }