Homepage-Webhilfe Event-Banner

Applets mit Swing

Als Alternative zur Verwendung von AWT-Oberflächen können Applets auch Swing-Steuerelemente enthalten. Hierfür benötigen wir natürlich eine Swing-Oberfläche als Basis. Um Swing-Komponenten benutzen zu können, müssen wir deshalb die Basisklasse von java.applet.Applet in javax.swing.JApplet ändern. Dadurch stehen uns nun alle Komponenten und Steuerelemente von Swing zur Verfügung.

Auch für Swing-Oberflächen bietet NetBeans ein Tool (auch GUI-Builder genannt) zum Designen der grafischen Oberfläche. Beim Erstellen der Datei wählen wir JApplet Form aus der Kategorie Swing GUI Forms.

Das untere Beispiel zeigt ein Formular mit einigen Formular-Steuerelementen wie z. B. JLabel, JTextField, JTextArea, JRadioButton, JCheckBox, JComboBox und JButton. Beim Klick auf den Button wird ein Meldungsfenster angezeigt. Nach Bestätigung der Meldung wird das Formular zurückgesetzt.

package de.hwh.bsp.swingapp;

import javax.swing.JOptionPane;

public class MeinApplet extends javax.swing.JApplet
{
    @Override
    public void init()
    {
        /* Set the Nimbus look and feel */
        // [...]

        /* Create and display the applet */
        try
        {
            java.awt.EventQueue.invokeAndWait(new Runnable()
            {
                @Override
                public void run()
                {
                    initComponents();
                }
            });
        }
        catch (Exception ex)
        {
            ex.printStackTrace();
        }
    }
    
    @SuppressWarnings("unchecked")
    private void initComponents()
    {
        // [...]
    }

    private void btnAbschickenMouseClicked(java.awt.event.MouseEvent evt)
    {
        if (JOptionPane.showConfirmDialog(null, "Sind Ihre Eingaben korrekt?", "Eingabe prüfen!", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION)
        {
            rdbgAnrede.setSelected(rdbHerr.getModel(), true);
            txtName.setText("");
            txtEMail.setText("");
            cmbSprache.setSelectedIndex(0);
            taNachricht.setText("");
            cbNews.setSelected(false);
        }
    }

    // Variables declaration - do not modify
    private javax.swing.JButton btnAbschicken;
    private javax.swing.JCheckBox cbNews;
    private javax.swing.JComboBox<String> cmbSprache;
    private javax.swing.JPanel formPanel;
    private javax.swing.JLabel lblAnrede;
    private javax.swing.JLabel lblEMail;
    private javax.swing.JLabel lblNachricht;
    private javax.swing.JLabel lblName;
    private javax.swing.JLabel lblNews;
    private javax.swing.JLabel lblSprache;
    private javax.swing.JRadioButton rdbFrau;
    private javax.swing.JRadioButton rdbHerr;
    private javax.swing.ButtonGroup rdbgAnrede;
    private javax.swing.JScrollPane spNachricht;
    private javax.swing.JTextArea taNachricht;
    private javax.swing.JTextField txtEMail;
    private javax.swing.JTextField txtName;
	// End of variables declaration
}
VorschauDownload

Übrigens: Natürlich stehen in der Klasse JApplet weiterhin die Schnittstellenfunktionen init(), start(), stop() und destroy() sowie die Funktion getParameter() zur Verfügung. Grund dafür ist, dass JApplet eine von Applet abgeleitete Klasse ist.

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen OK