G
Guest
Gast
Hy zusammen!
Ich hab ein Prob bei dem Ihr mir hoffentlich helfen könnt. Weder FAQ noch Forensuche hat mir helfen können.
Ich habe folgende Anwendung, die verschiedene Applets integriert. Je nach welcher Menuaction ruft es die jeweiligen Applets auf. Mein Problem ist, dass ich in einem Applet ein Bild integriere. Im Appletviewer wird auch alles korrekt dargestellt.
Wenn ich allerdings die Anwendung aufrufe, integriert er das Applet nur, wenn kein Bild drin ist. Ansonsten kommt die Java.NullPointerException. Wahrscheinlich muss ich die Grafik im Frame initialisieren, das habe ich in der Graphics Methode versucht. geht aber auch nicht... *ratlos*
Compilieren lässt sich alles...
Anwendung:
Applet
Sicherlich ist einiges was in dem Code steht nicht besonders "effizient" und verbesserbar, daher bitte ich um Nachsicht, da meine Java Kenntnisste inzwischen etwas eingerostet sind. (Wenn man nicht dauernd coded verliert man schnell sein Wissen wie es scheint) Mit geht es primär darum das Bild in der Anwendung durch das Applet anzuzeigen.
Ich hoffe meine Fragestellung ist einigermassen verständlich und lösbar.
Danke im Vorraus...
Ich hab ein Prob bei dem Ihr mir hoffentlich helfen könnt. Weder FAQ noch Forensuche hat mir helfen können.
Ich habe folgende Anwendung, die verschiedene Applets integriert. Je nach welcher Menuaction ruft es die jeweiligen Applets auf. Mein Problem ist, dass ich in einem Applet ein Bild integriere. Im Appletviewer wird auch alles korrekt dargestellt.
Wenn ich allerdings die Anwendung aufrufe, integriert er das Applet nur, wenn kein Bild drin ist. Ansonsten kommt die Java.NullPointerException. Wahrscheinlich muss ich die Grafik im Frame initialisieren, das habe ich in der Graphics Methode versucht. geht aber auch nicht... *ratlos*
Compilieren lässt sich alles...
Anwendung:
Code:
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class TestTool extends Frame implements ActionListener
{
static MenuItem spei = new MenuItem ("Speichern");
static MenuItem exit = new MenuItem ("Beenden");
static MenuItem einsts3 = new MenuItem ("Einstellungen 3");
static MenuItem einsts2 = new MenuItem ("Einstellungen2");
static MenuItem art = new MenuItem ("Artikel Import");
static MenuItem kun = new MenuItem ("Kunden Import");
static MenuItem inf = new MenuItem ("Info");
static Frame f;
//Applets erzeugen
static Start applet;
static Einst2 aeinst2 = new Einst2();
static Einst aeinst3 = new Einst();
static Speicher speich = new Speicher();
static Exit ex = new Exit();
static Kunde k = new Kunde();
static Artikel ar = new Artikel();
static Info info = new Info();
public static void main (String[] args) {
applet = new Start();
f = new Frame ("Tool Prototype");
f.addWindowListener(new WindowAdapter()
{
public void windowClosing (final WindowEvent e)
{
System.exit(0);
}
});
f.setMenuBar(getMenubar());
f.setSize(800,600);
f.setVisible(true);
f.add("Center",applet);
applet.init();
}
public void actionPerformed(ActionEvent event)
{
if(event.getSource()== einsts2)
{
f.remove(applet);
aeinst3.stop();
f.remove(aeinst3);
f.remove(speich);
f.remove(info);
f.remove(ex);
f.remove(k);
f.remove(ar);
f.add("Center",aeinst2);
aeinst2.init();
aeinst2.start();
}
if(event.getSource()== einsts3)
{
f.remove(applet);
aeinst2.stop();
f.remove(aeinst2);
f.remove(speich);
f.remove(info);
f.remove(ex);
f.remove(k);
f.remove(ar);
f.add("Center",aeinst3);
aeinst3.init();
aeinst3.start();
}
if(event.getSource()== spei)
{
f.remove(aeinst2);
f.remove(aeinst3);
f.remove(info);
f.remove(ex);
f.remove(k);
f.remove(ar);
f.remove(applet);
f.add("Center",speich);
speich.init();
}
if(event.getSource()== exit)
{
f.remove(aeinst2);
f.remove(aeinst3);
f.remove(speich);
f.remove(info);
f.remove(k);
f.remove(ar);
f.remove(applet);
f.add("Center",ex);
ex.init();
}
if(event.getSource()== kun)
{
f.remove(aeinst2);
f.remove(aeinst3);
f.remove(ex);
f.remove(info);
f.remove(speich);
f.remove(ar);
f.remove(applet);
f.add("Center",k);
k.init();
}
if(event.getSource()== art)
{
f.remove(aeinst2);
f.remove(aeinst3);
f.remove(ex);
f.remove(k);
f.remove(info);
f.remove(speich);
f.remove(applet);
f.add("Center",ar);
ar.init(); ;
}
if(event.getSource()== inf)
{
f.remove(aeinst2);
f.remove(aeinst3);
f.remove(ex);
f.remove(k);
f.remove(ar);
f.remove(speich);
f.remove(applet);
f.add("Center",info);
info.init(); ;
}
}
static MenuBar getMenubar (){
MenuBar menueLeiste = new MenuBar ();
Menu datei = new Menu ("Datei");
spei.addActionListener(new TestTool());
exit.addActionListener(new TestTool());
datei.add (spei);
datei.add (exit);
menueLeiste.add(datei);
Menu einst = new Menu ("Einstellungen");
einsts2.addActionListener(new TestTool());
einsts3.addActionListener(new TestTool());
einst.add(einsts2);
einst.add(einsts3);
menueLeiste.add(einst);
Menu sync = new Menu ("Synchronisieren");
art.addActionListener(new TestTool());
kun.addActionListener(new TestTool());
sync.add(art);
sync.add(kun);
menueLeiste.add(sync);
Menu help = new Menu ("Hilfe");
inf.addActionListener(new TestTool());
help.add(inf);
menueLeiste.add(help);
return menueLeiste;
}
public void paint(Graphics g)
{
Image i = getToolkit().getImage("bild.jpg");
}
}
Applet
Code:
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class Start extends Applet
{
private Label eingabeLabel, eingabeLabel2;
public Image i;
public void init()
{
setSize(800,600);
setLayout(null);
i = getImage(getDocumentBase(), "bild.jpg");
eingabeLabel = new Label("Willkommen beim Prototyp V1.0");
eingabeLabel.setBounds(250,150,500,20);
add(eingabeLabel);
eingabeLabel2 = new Label("Bitte geben Sie zum Datenautausch in der Menüleiste Ihre Daten ein");
eingabeLabel2.setBounds(190,200,500,20);
add(eingabeLabel2);
repaint();
}
public void paint(Graphics g)
{
g.setColor(Color.black);
g.drawImage(i, 350,50, this);
}
}
Sicherlich ist einiges was in dem Code steht nicht besonders "effizient" und verbesserbar, daher bitte ich um Nachsicht, da meine Java Kenntnisste inzwischen etwas eingerostet sind. (Wenn man nicht dauernd coded verliert man schnell sein Wissen wie es scheint) Mit geht es primär darum das Bild in der Anwendung durch das Applet anzuzeigen.
Ich hoffe meine Fragestellung ist einigermassen verständlich und lösbar.
Danke im Vorraus...