Komponenten dynamisch erkennen und bearbeiten

Status
Nicht offen für weitere Antworten.
L

Lamer

Gast
Hallo,
könnte mir vielleicht jemand helfen mit folgende Problemstellung ?

Also ich habe vor ein class zu programmieren die dynamisch beim Aufruf von Formularen bzw. Eingabemasken Komponenten erkennen wird wie JTextArea oder JComboBox
und das ich auch dynamisch Werte von JTextArea oder JComboBox einlesen kann bzw. setzen diese class hat also aufgabe alle Eingabemasken bedinen die ich in Zukunft erstellen werde.

Code:
package uebung; 

import java.awt.*; 
import javax.swing.*; 
import java.awt.event.*; 

public class Test extends JFrame { 

  JPanel jPanel1 = new JPanel(); 
  JTextField jTextField1 = new JTextField(); 
  JPasswordField jPasswordField1 = new JPasswordField(); 
  JButton OK = new JButton(); 
  JButton jButton2 = new JButton(); 
  JLabel jLabel1 = new JLabel(); 
  JLabel jLabel2 = new JLabel(); 

  public Test() { 
    try { 
      jbInit(); 
    } 
    catch(Exception e) { 
      e.printStackTrace(); 
    } 
  } 
  private void jbInit() throws Exception { 
    this.getContentPane().setLayout(null); 
    jPanel1.setBorder(BorderFactory.createEtchedBorder()); 
    jPanel1.setBounds(new Rectangle(22, 16, 352, 263)); 
    jPanel1.setLayout(null); 
    OK.setBounds(new Rectangle(36, 208, 114, 25)); 
    OK.setText("OK"); 
    OK.addActionListener(new java.awt.event.ActionListener() { 
      public void actionPerformed(ActionEvent e) { 
        OK_actionPerformed(e); 
      } 
    }); 
    jButton2.setBounds(new Rectangle(214, 206, 115, 26)); 
    jButton2.setText("Abruch"); 
    jLabel1.setText("Name"); 
    jLabel1.setBounds(new Rectangle(20, 21, 88, 26)); 
    jLabel2.setText("Password"); 
    jLabel2.setBounds(new Rectangle(17, 66, 92, 26)); 
    jPasswordField1.setBounds(new Rectangle(142, 66, 194, 26)); 
    jTextField1.setBounds(new Rectangle(142, 23, 191, 24)); 
    this.getContentPane().add(jPanel1, null); 
    jPanel1.add(jTextField1, null); 
    jPanel1.add(jPasswordField1, null); 
    jPanel1.add(OK, null); 
    jPanel1.add(jButton2, null); 
    jPanel1.add(jLabel1, null); 
    jPanel1.add(jLabel2, null); 

    this.setBounds(300,200,470,350); 
    this.show(); 
  } 

  void OK_actionPerformed(ActionEvent e) { 

  } 
}

dass ist ein class von mehrere die ich vor habe zuprogrammieren, nun zur Sache
ich möchte jetzt Daten lesen die Objecte J jTextField1 und jPasswordField1
haben.

so wird es normale Weise gemacht


Code:
public class CLesen 
{ 
Test test=new Test(); 

//bei Lesen 
test.jTextField1.getText(); 
test.jPasswordField1.getText(); 

//oder beim Setzen 
test.jTextField1.setText(); 
test.jPasswordField1.setText(); 
}


dass ist mir klar, was mache ich wenn ich nicht weis welche Objecte in zukunft vorkommen werden z.B. wie Object test ????

Vielen Dank im Voraus
 
G

Guest

Gast
Schreib Dir ein Interface z.B. FormularElement, welches die
Methoden

Object getValue()
void setValue(Object)
boolean isInputValid()
String getErrorCode()
String getError()
boolean isRequired()
void setRequired(boolean required)

definiert.
Dann überschreibst Du jede Klasse, die Du verwendest (JTextField, JTextArea, JCheckBox etc.)
und delegierst den Aufruf von setValue() und getValue() an die entsprechenden
Setter-/Getter-Methoden der Component-Objekte.
z.B. (bei JTextField)

Code:
public Object getValue()
{
  return getText();
}

public void setValue(Object value)
{
  setText((value!=null)?value.toString():null);
}
Dadurch kannst Du unabhängig davon, ob es TextField, Combo oder sonstwas ist,
Deine Daten immer einheitlich über setValue(...) setzen und getValue() lesen.
z.B.
Code:
FormularElement f1 = FormularFactory.createTextField(false, 0, 20); // Kein mussfeld, 0 bis 20 Zeiche lang
...
model.setName((String)f1.getValue());
...
dann irgendwo vor dem Lesen
Code:
ArrayList fehlerhafteElemente = null;
Component allFields[] = formular.getComponents();
for(int i=0; i<allFields.length; i++) {
  if(allFields[i] instanceof FormularElement)  {
     FormularElement fo = (FormularElement)allFields[i];
     if(!fo.isInputValid()) {
        if(fehlerhafteElemente==null)
         fehlerhafteElemente = new ArrayList(10);
        fehlerhafteElemente.add(fo);
     }
  }
}

if(fehlerhafteElemente!=null) {
   // Alle Fehler aus dem Array anzeigen (getErrorcode(), getError() der einzenen ArrayList-Einträge)
}

Bei ComboBox könnte es ein Array mit Objekten sein, die angezeigt werden.
Bei Checkbox, Boolean.TRUE oder Boolean.FALSE etc.

Das ganze kannst Du noch so erweitern, dass die Werte vor dem Setzen geprüft werden
usw. (z.B. isInputValid() liefert true, wenn Eingabe OK ist etc.)
Dann noch ein Factory drumherum, welches die verschiedenen Typen von
Formularelementen erstellen kann.
 
L

Lamer

Gast
Beni wenn ich es wuste where ich nicht hier mit meine Fragen, und deine Antwort richt nach Versagen,
also nicht böse gemeint lehrne auch mit.
 
B

Beni

Gast
Du hast recht, das war ein Fehler von mir. (Ich war wohl ein bisschen müde, und JBuilder-Code macht mich immer aggressiv.)

Entschuldigung
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Swing Wie Programm strukturieren? (Dynamisch Komponenten hinzufügen) AWT, Swing, JavaFX & SWT 1
G Dynamisch Komponenten in einem JPanel bzw JFram austauschen AWT, Swing, JavaFX & SWT 7
D Swing Komponenten nicht sichtbar nach Start AWT, Swing, JavaFX & SWT 12
H Fehler: Zum Ausführen dieser Anwendung benötigte JavaFX-Runtime-Komponenten fehlen AWT, Swing, JavaFX & SWT 44
H Swing , GridLayout, Größenbestimmung der Komponenten im Layout AWT, Swing, JavaFX & SWT 8
BabySuna Swing Komponenten auslagern auf separate Datei AWT, Swing, JavaFX & SWT 8
B Mit ContentPane werden Komponenten angezeigt, mit SplitPane, JPanel nicht? AWT, Swing, JavaFX & SWT 6
P AWT Einzelne Komponenten zur Laufzeit austauschen? AWT, Swing, JavaFX & SWT 3
D [Swing] Anordnung von Komponenten mit GridLayout Manager AWT, Swing, JavaFX & SWT 13
L Komponenten eines Panels werden erst nach Klick darauf angezeigt AWT, Swing, JavaFX & SWT 13
E Komponenten von JScrollPane werden nicht richtig ermittelt AWT, Swing, JavaFX & SWT 2
F Gebundene Eigenschaften bei Komponenten mit NetBeans verarbeiten AWT, Swing, JavaFX & SWT 3
H LayoutManager Probleme mit Positionierung/Abständen der Komponenten AWT, Swing, JavaFX & SWT 14
dereki2000 Swing JFrame nah hinzufügen von Komponenten akualisieren. AWT, Swing, JavaFX & SWT 2
L Swing Komponenten erst nach Resize sichtbar AWT, Swing, JavaFX & SWT 2
S Swing Panel übernimmt komponenten von anderem AWT, Swing, JavaFX & SWT 7
T Reihenfolge der Komponenten im einem JFrame AWT, Swing, JavaFX & SWT 8
P Gleichmäßige Anodnung von Komponenten im migLayout AWT, Swing, JavaFX & SWT 2
DaCrazyJavaExpert Swing Komponenten genauer anordnen. AWT, Swing, JavaFX & SWT 13
DaCrazyJavaExpert Swing Komponenten in GridBagLayout werden Falsch angeordnet AWT, Swing, JavaFX & SWT 1
P Größe und Ausrichtung von Komponenten festlegen AWT, Swing, JavaFX & SWT 13
MaxG. Swing Swing Komponenten zur Laufzeit hinzufügen AWT, Swing, JavaFX & SWT 2
D Swing Komponenten Anordnung eines Panels in Verbindung eines weiteren Panels AWT, Swing, JavaFX & SWT 9
Neumi5694 LookAndFeel Look & Feel nicht angezeigter Komponenten ändern AWT, Swing, JavaFX & SWT 6
D JavaFX GUI Komponenten werden langsam bei größerer Datenmenge AWT, Swing, JavaFX & SWT 6
R Komponenten von JPanel bleiben unsichtbar AWT, Swing, JavaFX & SWT 2
D JavaFX Welche Komponenten vermisst ihr? Welche wären essenziell notwendig? AWT, Swing, JavaFX & SWT 8
M Datei mit Komponenten einbinden AWT, Swing, JavaFX & SWT 7
T SWT Externer zugrif auf SWT Komponenten AWT, Swing, JavaFX & SWT 3
Shams Probleme bei dem Hinzufügen von Komponenten zu einem JFrame AWT, Swing, JavaFX & SWT 3
J MouseOver bei Komponenten AWT, Swing, JavaFX & SWT 9
S Größe der Komponenten, beim ändern der größe des Frames, mit ändern! AWT, Swing, JavaFX & SWT 2
D LayoutManager GUI skalieren und deren Komponenten mit Grid(Bag)Layout-Manager. AWT, Swing, JavaFX & SWT 5
G Komponenten vergrößern sich nicht trotz Layoutmanager AWT, Swing, JavaFX & SWT 24
M JavaFX Scenebuilder eigene Komponenten AWT, Swing, JavaFX & SWT 8
A Swing per JComboBox gewünschtes Attribut auswählen und Komponenten passen sich an AWT, Swing, JavaFX & SWT 7
A JavaFX Eigene Komponenten im Scene Builder AWT, Swing, JavaFX & SWT 0
Q Swing Fenster updaten - Hinzugefügte Komponenten darstellen AWT, Swing, JavaFX & SWT 3
S BoxLayout: Anordnung der Komponenten links statt zentriert AWT, Swing, JavaFX & SWT 0
Bartertown JTable - Verschiedene Komponenten in einer Spalte unterbringen AWT, Swing, JavaFX & SWT 3
U Frame zeigt keine Komponenten AWT, Swing, JavaFX & SWT 7
G Applet Applet Komponenten flackern AWT, Swing, JavaFX & SWT 10
K LayoutManager Probleme mit 2 Komponenten AWT, Swing, JavaFX & SWT 9
M Komponenten übereinander AWT, Swing, JavaFX & SWT 7
R Komponenten werden erst nach maximierung des Frames sichtbar (Linux) AWT, Swing, JavaFX & SWT 5
H Swing Getter für GUI-Komponenten AWT, Swing, JavaFX & SWT 3
B Komponenten in Fenster verdrängen sich untereinander AWT, Swing, JavaFX & SWT 6
N Komponenten übereinander AWT, Swing, JavaFX & SWT 3
S Anordnung von GUI-Komponenten mit LayouManger (Problem beim anzeigen von JTextField) AWT, Swing, JavaFX & SWT 5
M Swing Komponenten enablen? AWT, Swing, JavaFX & SWT 4
X Java Komponenten jeder Zeit hinzufügen können AWT, Swing, JavaFX & SWT 3
S View-Komponenten im Controller bekannt machen AWT, Swing, JavaFX & SWT 7
D Grafische Komponenten komplett neu aufbauen (Neukonstruktion) AWT, Swing, JavaFX & SWT 5
A AWT Komponenten in JavaFX einbetten AWT, Swing, JavaFX & SWT 9
M Swing Komponenten erscheinen beim darüberfahren? AWT, Swing, JavaFX & SWT 7
H Komponenten unmittelbar nach dem Ausführen teilweise unsichtbar AWT, Swing, JavaFX & SWT 3
K GUI in Komponenten aufteilen (MVC) AWT, Swing, JavaFX & SWT 2
W Funktionen, sowie aufruf einiger Komponenten AWT, Swing, JavaFX & SWT 4
J Alle Komponenten eines JFrames durchlaufen AWT, Swing, JavaFX & SWT 2
R Swing Komponenten bleiben bei Animation unsichtbar AWT, Swing, JavaFX & SWT 7
T Unter JPanel liegende Komponenten "totschalten" AWT, Swing, JavaFX & SWT 5
morphesus Swing Komponenten werden nicht angezeigt AWT, Swing, JavaFX & SWT 8
C Swing Reihenfolge der Initialisierung von Komponenten AWT, Swing, JavaFX & SWT 6
Asamandra LayoutManager GridBagLayout - Komponenten (mit fill?) vergrößern aber Proportionen dabei erhalten? AWT, Swing, JavaFX & SWT 3
B Swing Komponenten auf JApplet setSize AWT, Swing, JavaFX & SWT 7
B Swing Komponenten auf JApplet setSize AWT, Swing, JavaFX & SWT 2
W Bildgröße automatisch an Komponenten anpassen AWT, Swing, JavaFX & SWT 3
TheWhiteShadow Swing Komponenten organisieren AWT, Swing, JavaFX & SWT 9
S Überlappung zweier Komponenten AWT, Swing, JavaFX & SWT 12
Z größe der komponenten bestimmen AWT, Swing, JavaFX & SWT 16
C GUI-Komponenten skalieren AWT, Swing, JavaFX & SWT 10
M Seltsames Problem mit Resize eines Fensters und seiner Komponenten AWT, Swing, JavaFX & SWT 2
D Swing Komponenten verstecken AWT, Swing, JavaFX & SWT 4
X Swing Resizing der Komponenten innheralb eines Panels AWT, Swing, JavaFX & SWT 2
T Swing Font für alle Komponenten ändern AWT, Swing, JavaFX & SWT 2
S Problem mit Swing Komponenten AWT, Swing, JavaFX & SWT 11
A Swing Alle Komponenten auf JFrame ermitteln AWT, Swing, JavaFX & SWT 4
E LookAndFeel Eigene Komponenten mit Synth L&F stylen AWT, Swing, JavaFX & SWT 2
S Swing Frame und Klasse extends JPanel - Komponenten zur Laufzeit austauschen AWT, Swing, JavaFX & SWT 18
S JButton und textfield.setText - Komponenten über-/verdecken sich AWT, Swing, JavaFX & SWT 15
M Komponenten übereinander prüfen AWT, Swing, JavaFX & SWT 3
W LayoutManager GridBag richtig nutzen - Komponenten richtig anordnen und automatisch vergrößern AWT, Swing, JavaFX & SWT 5
M Komponenten in anderer Reihenfolge anzeigen AWT, Swing, JavaFX & SWT 4
G swing Komponenten verrutschen ständig... AWT, Swing, JavaFX & SWT 6
D Mit GridBayLayout Komponenten anordnen AWT, Swing, JavaFX & SWT 6
N Window transparent, Komponenten nicht transparent AWT, Swing, JavaFX & SWT 11
R Farbänderung von Komponenten wird nicht wirksam AWT, Swing, JavaFX & SWT 7
P Swing Hierachie oder Reihenfolge von Komponenten AWT, Swing, JavaFX & SWT 5
T Sich überlappende Komponenten AWT, Swing, JavaFX & SWT 2
D Swing Probleme beim Anzeigen der einzelnen Komponenten AWT, Swing, JavaFX & SWT 16
R Swing Komponenten klein angezeigt AWT, Swing, JavaFX & SWT 10
D Swing Swing Komponenten verschieben AWT, Swing, JavaFX & SWT 7
B Komponenten nach Skalierung nicht mehr ansprechbar AWT, Swing, JavaFX & SWT 9
Kr0e AWT Komponenten in JPanel AWT, Swing, JavaFX & SWT 6
JuliaOne Komponenten innerhalb eine JScrollpane werden auch ausserhalb davon gezeichnet! AWT, Swing, JavaFX & SWT 7
xehpuk Swing Komponenten werden durch setFont() winzig AWT, Swing, JavaFX & SWT 3
O Größe von Komponenten im JFrame manuell verändern AWT, Swing, JavaFX & SWT 2
H Komponenten anwendugsweit formatieren AWT, Swing, JavaFX & SWT 6
M Swing Komponenten mit fester Größe an Fensterrand(JFrame) AWT, Swing, JavaFX & SWT 2
A Komponenten zur Laufzeit entfernen AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben