Java button erzeugen

Es soll für jeden Typ von Dialogfenster (siehe unten +) ein Button erzeugt und zu einem Layout hinzugefügt werden. (=5 Buttons)

Wird der entsprechende Button gedrückt, soll das jeweilige Fenster mit einer Meldung erscheinen, die zum Typ des Fensters passt.

Wenn ihr euren Namen in das Eingabedialogfenster schreibt und auf OK clickt, soll mittels System.out.println folgendes ausgegeben werden: Zutritt gewährt ansonsten Zutritt verweigert!

Die Buttons sollen ganz oben deklariert und angelegt werden (dort wo auch Instanzvariablen deklariert werden)!

Außerdem soll noch ein Passwort Feld im Fenster enthalten sein (Eingaben sind *******). Links neben dem Passwort-Feld soll ein Label stehen mit folgendem Text: Top secret:

import javax.swing.*;

class dialog{

public static void main(String[] args){
//Bestaetigungsfenster mit ?
int antwort = JOptionPane.showConfirmDialog(null, „Sollen wirklich alle Dateien gelöscht werden?“);
System.out.println(antwort);
//ja ergibt 0, nein 1, abbrechen 2

if (antwort==0) {
//Fehelermeldung
int error = JOptionPane.showConfirmDialog(null, „Es ist ein Fehler beim Lesen der Datei aufgetreten! Erneut versuchen“,
„Dateilesefehler“, JOptionPane.YES_NO_OPTION, JOptionPane.ERROR_MESSAGE);
System.out.println(error);

if (error==0){

//Eingabedialog
String eingabe = JOptionPane.showInputDialog(null, „Geben Sie ihren Namen ein!“);
System.out.println(eingabe);

//Strings vergleichen
if (eingabe.equals(„Jasmin“)) {

//Infobox nur mit OK

JOptionPane.showMessageDialog(null, „Eine Box kommt noch“);

//Warnung
JOptionPane.showMessageDialog(null, „Sie haben zu wenig gelernt“,„Learning Warning“, JOptionPane.WARNING_MESSAGE);

Gibt’s da auch 'ne Frage zu?!

Ich bin kein Java-Kenner und kann dir keine antwort geben. Alex

Hallo,

und wobei hast du nun Probleme?
Oder suchst du vielleicht jemand, der dir den ganzen Code schreibt?

Als Hilfe kann ich dir folgenden Link anbieten:
http://docs.oracle.com/javase/tutorial/uiswing/compo…

Torsten

tut mir leid, mit Java.swing kenne ich mich nicht aus

gruss, mofte

Und deine Frage ist…?

Hallo jackykuba,

evtl. habe ich nicht richtig verstanden, auf was Deine Frage genau abzielt.

Willst Du einen Dialog, mit dem Du auswählen kannst, welcher der von Dir angegebenen Dialoge ausgeführt werden soll? So etwas könntest Du folgendermaßen erreichen:

 String[] options = new String[] { "Dateien löschen", "Namen eingeben", ... };
 int selection = JOptionPane.showOptionDialog(null, "Was wollen Sie tun?", "Es ist Ihre Entscheidung", 0, JOptionPane.QUESTION\_MESSAGE, null, options, null);
 switch(selection)
 {
 case 0: zeigeDateienLoeschenDialog(); break;
 case 1: zeigeNamenEingebenDialog(); break;
 case 2: ...
 }

Aber irgendwie scheinst Du ja Deine Dialog hintereinander (und in Abhängigkeit von den vorherigen Ergebnissen) ausführen zu wollen. Wenn dann die Frage ist, wie Du zu den vordefinierten JOptionPanes einen weiteren Button hinzufügen kannst, fürchte ich, dass das nur für den in meinenm Beispiel verwendeten OptionDialog (und nicht für ConfirmDialog, InputDialog oder MessageDialog) möglich ist. In diesem Fall müsstest Du Dir also eigene JDialogs definieren, die Du dann völlig frei gestalten kannst.

Falls das Deine Frage nicht beantwortet, musst Du mir noch einmal genauer erklären, was Du gerne wissen möchtest. :wink:

Schöne Grüße,

Manfred

Schon mal ein Java-Programm geschrieben? Hier einfach mal nachlesen:

http://openbook.galileodesign.de/javainsel5/javainse…
http://www.dpunkt.de/java/Programmieren_mit_Java/Obe…

Viele Grüße
Michael

HI jackykuba,

hier zwei Links die besonders hilfreich sein können:
http://www.java-tutorial.org/swing.html
http://java.net/projects/designgridlayout/pages/Home

Viel Glück wünscht

Miklos Herboly

Hallo,

du musst mit dem Befehl new jButton(); einen neuen Button erzeugen. Mit diesem verknüpfst du nun einen Listener mittels vom Typ ActionListener.

myButton.addActionListener(clickActionPerformed)

Dieser hat eine Funktion „actionPerformed()“, in der du deine gewünschten Aktionen festlegen kannst, z.B.

@Override public void actionPerformed(ActionEvent e) {
int antwort = JOptionPane.showConfirmDialog(null, „Sollen wirklich alle Dateien gelöscht werden?“);
System.out.println(antwort);
}

Das ganze Kapitel ist seeeeehr umfangreich. Ich empfehle dir die Javainsel dazu:
http://openbook.galileocomputing.de/javainsel/javain…

Gruß