# Fileviewer



## Hawk2005 (7. Jul 2004)

Hallo,

ich steh mal wieder aufm Schlauch....

Des mit den Zertifikaten hab ich hin bekommen, und auch den FileViewer so zu starten, dass er im Applet fenster hockt.

Aber wie mache ich es wenn ich im Hauptapplet nur einen Button will (Dateien wählen) und sich dann ein Fenster
mit dem FileViewer öffnet.

Ich hab verschiedene Klassen in einem jar, wie kann ich new Funktion aus einer anderen Klasse aufrufen?

cu...


----------



## L-ectron-X (7. Jul 2004)

In dem Du Objekte (Instanzen) von diesen Klassen erzeugst und die dann (einen (J)Dialog z.B.) zur Anzeige bringst.
Wenn Du also auf Deinen Button klickst, erzeugst Du eine Instanz von Deiner Klasse FileViewer und zeichnest sie auf den Bildschirm (setVisible(true)).


----------



## Hawk2005 (8. Jul 2004)

Ich kapier immer noch nix.

Folgendes Beispiel:

test.java

```
import java.applet.*;
import java.awt.*;

public class test extends Applet {
    
    Button browse=new Button("Go");
    Frametest myFrame=new Frametest();

    public void init() {
       add(browse);
    }
    
    public boolean action(Event e, Object obj)
    {
        if(e.target instanceof Button)
        {
            if("Go".equals( (String) obj) )
            {
                myFrame.show();
            }
        }
        return true;
    }
}
```

und

Frametest.java

```
public class Frametest extends javax.swing.JFrame {
    
    public Frametest() {
        initComponents();
    }

    private void initComponents() {

        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                exitForm(evt);
            }
        });

        pack();
    }
    
    private void exitForm(java.awt.event.WindowEvent evt) {
        System.exit(0);
    }
    
    public static void main(String args[]) {
        new Frametest().show();
    }
}
```

Funktioniert aber leider nichr ! Warum ?


----------



## P3AC3MAK3R (8. Jul 2004)

Du hast für Deinen Go-Button keinen ActionListener registriert.


----------



## Hawk2005 (8. Jul 2004)

???

Ich hab grad erst mit Java angefangen....

Mach ich das nicht mit:


```
public boolean action(Event e, Object obj)
    {
        if(e.target instanceof Button)
        {
            if("Go".equals( (String) obj) )
            {
                myFrame.show();
            }
        }
        return true;
    }
```


----------



## P3AC3MAK3R (8. Jul 2004)

http://java.sun.com/docs/books/tutorial/uiswing/events/intro.html


----------



## L-ectron-X (8. Jul 2004)

Hier mal eine an Deinen Code angelehnte, ganz einfach schnell dahin gekritzelte Variante, die das Öffnen eines Frames aus einem Applet demonstriert.:
Das Applet:

```
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class TestApplet extends Applet implements ActionListener {

    Button b_go;

    public void init() {
       b_go = new Button("Go");
       b_go.addActionListener(this);
       add(b_go);
    }

    public void actionPerformed(ActionEvent e)
    {
        if(e.getSource() == b_go) {
            new TestFrame("MyFrame").setVisible(true);
        }
    }
}
```
Der Frame:

```
import java.awt.*;
import java.awt.event.*;

public class TestFrame extends Frame {

    public TestFrame(String title) {
        super(title);
        addWindowListener(new WindowAdapter() {
           public void windowClosing(WindowEvent e) {
              setVisible(false);
              dispose();
           }
        });
        setSize(400, 300);
    }
}
```


----------



## Hawk2005 (9. Jul 2004)

So ähnlich hab ichs jetzt gelöst.

Danke...


----------

