A
Amateur
Gast
Hallo,
ich war schon mal hier mit meiner Frage, aber keine konnte mir so richtig helfen, wahrscheinlich dass ich es schlecht erklärt hatte, deshalb versuche ich es noch einmal und hoffe das mir jemand helfen wird.
Also es sollen Klassen dynamisch geladen werden und alle Componenten diese Klasse sollen gespeichert werden,
ohne dass ich vorhier weis welche class ich aufrufe und eine instanz von den erzeuge, oder von alle zusammen die ich in Package habe.
Ich Danke euch im Voraus für die Antworten und wünsche euch alles Gute.
ich war schon mal hier mit meiner Frage, aber keine konnte mir so richtig helfen, wahrscheinlich dass ich es schlecht erklärt hatte, deshalb versuche ich es noch einmal und hoffe das mir jemand helfen wird.
Also es sollen Klassen dynamisch geladen werden und alle Componenten diese Klasse sollen gespeichert werden,
ohne dass ich vorhier weis welche class ich aufrufe und eine instanz von den erzeuge, oder von alle zusammen die ich in Package habe.
Ich Danke euch im Voraus für die Antworten und wünsche euch alles Gute.
Code:
package myproject;
import javax.swing.*;
import java.util.*;
public class CMain extends JTextField {
public static void main(String[] args) {
try{
/***
package "myproject" wo alle Klassen liegen
und "CGui.class" der dynamisch aus Datenbank aufgerufen wird
***/
Class c=Class.forName("myproject.CGui");
c.newInstance();
/***
Hier in list will ich alle Componenten speichern die ich in CGUI.class habe
ohne das ich auf solche Weise
CGUI instanz=new CGUI();
instanz.username;
auf die zugreife, sondern es soll dynamisch pasieren, da ich nicht weis welche class aufgerufen wird
in class CGui darf ich auch nicht irgendwelche Instanzen von CMain erzeugen
es soll so bleiben in diesen so wie es jetzt ist.
***/
/*Wie bekomme ich alle Componenten hier hier und wie setze ich dann die Werte in Felder ein
soll ich dann Casting machen und wenn ja wie ????*/
ArrayList list=new ArrayList();
}
catch(Exception ex)
{System.out.println("ERROR "+ex);}
}
}
Code:
package myproject;
import java.awt.*;
import javax.swing.*;
public class CGui extends JFrame {
JTextField username = new JTextField();
JPasswordField password = new JPasswordField();
JButton ok = new JButton();
JButton exit = new JButton();
public CGui() {
try {
username.setBounds(new Rectangle(241, 70, 223, 26));
this.getContentPane().setLayout(null);
password.setBounds(new Rectangle(241, 110, 224, 29));
ok.setBounds(new Rectangle(243, 179, 90, 23));
ok.setText("OK");
exit.setBounds(new Rectangle(375, 180, 88, 23));
exit.setText("Exit");
this.getContentPane().add(username, null);
this.getContentPane().add(password, null);
this.getContentPane().add(ok, null);
this.getContentPane().add(exit, null);
}
catch(Exception e) {
e.printStackTrace();
}
}
}