package javacodebook.client.start_access; import java.awt.*; import java.awt.geom.*; import java.awt.print.*; import java.io.*; import javax.swing.*; /** * Die Klasse FileAccessWebStart verdeutlicht den Zugriff * einer WebStart-Anwendung auf lokale Resourcen. */ public class FileAccessWebStart extends javax.swing.JFrame { private javax.swing.JScrollPane jScrollPane1; private javax.swing.JMenuItem jMenuItem2; private javax.swing.JEditorPane textEditorPane; private javax.swing.JFileChooser fileChooser; private javax.swing.JMenuItem jMenuItem1; private javax.swing.JMenu jMenu1; private javax.swing.JMenuBar jMenuBar1; private String fileName; /** * Der Konstruktor ruft die Methode initComponents() auf und gibt * eine DefaultCloseOperation an. */ public FileAccessWebStart() { initComponents(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); } /** * Hier werden die Komponenten auf dem Frame angeordnet. Das Menü wird * aufgebaut und Aktionen für die Menüpunkte angegeben. */ private void initComponents() { fileChooser = new javax.swing.JFileChooser(); jScrollPane1 = new javax.swing.JScrollPane(); textEditorPane = new javax.swing.JEditorPane(); jMenuBar1 = new javax.swing.JMenuBar(); jMenu1 = new javax.swing.JMenu(); jMenuItem1 = new javax.swing.JMenuItem(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent evt) { exitForm(evt); } }); textEditorPane.setPreferredSize(new java.awt.Dimension(640, 480)); jScrollPane1.setViewportView(textEditorPane); getContentPane().add(jScrollPane1, java.awt.BorderLayout.CENTER); jMenu1.setText("Datei"); jMenuItem1.setText("\u00d6ffnen"); jMenuItem1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { showOpenFileDialog(evt); } }); jMenu1.add(jMenuItem1); jMenuBar1.add(jMenu1); setJMenuBar(jMenuBar1); setSize(400,400); } /** * Nach Auswahl einer Datei per Dateidialog wird diese von der JEditorPane * geladen. */ private void showOpenFileDialog(java.awt.event.ActionEvent evt) { int pressedButton = fileChooser.showOpenDialog(this); if(pressedButton == JFileChooser.APPROVE_OPTION) { try { File f = fileChooser.getSelectedFile(); this.fileName = f.getName(); BufferedInputStream in = new BufferedInputStream( new FileInputStream(f)); textEditorPane.read(in, null); in.close(); } catch(IOException e) { e.printStackTrace(System.out); } } } /** Beenden */ private void exitForm(java.awt.event.WindowEvent evt) { System.exit(0); } public static void main(String args[]) { new FileAccessWebStart().show(); } } --- HTML-Seite --- Eine Web Start Anwendung

Eine Anwendung mit Zugriff auf das Dateisystem

Die unsignierte Anwendung
Die signierte Anwendung --- JNLP-Datei --- File Access mit Webstart Java Codebook Signierte Anwendung zeigt Dateiinhalt an