Hi leutz.
Ich habe folgendes Problem.
Ich rufe ein in eine Java - Klasse umgewandeltes Cobol Programm auf(ist jetzt ne ganz normale Klasse)
die Klasse/n werden durch einbinden unter Properties/Java Bulild Path/Libraries bekannt gemacht
nun kann ich die Klasse folgendermassen aufrufen
die Klasse heisst hier E1100_05.
wie kann ich jetzt E1100_05 als String nehmen..
um es Klarer zu machen.. ich will mir ein Array bauen in dem die Klassennamen stehen z.B.
und diese dann aufrufen..
normalerweise mache ich das so(hier sind die Klassen halt JPanels aber das ist ja egal)..
dann kann ich sie mit
aufrufen, das bekomme ich aber hier nicht hin.
weiss wer rat??
gruss MScalli
NACHTRAG:
Am Schluss sollte es ungefähr so aussehen(wenn das irgendwie geht)
Ich habe folgendes Problem.
Ich rufe ein in eine Java - Klasse umgewandeltes Cobol Programm auf(ist jetzt ne ganz normale Klasse)
die Klasse/n werden durch einbinden unter Properties/Java Bulild Path/Libraries bekannt gemacht
nun kann ich die Klasse folgendermassen aufrufen
Code:
public class AJAVA {
public static void main(String[] args) {
E1100_05 mysub = new E1100_05();
mysub.call(new Object[] {});
}
}
die Klasse heisst hier E1100_05.
wie kann ich jetzt E1100_05 als String nehmen..
um es Klarer zu machen.. ich will mir ein Array bauen in dem die Klassennamen stehen z.B.
Code:
String[] arr_Klassennamen = {"E1100_01", "E1100_02", "E1100_03", "E1100_04", "E1100_05"};
und diese dann aufrufen..
normalerweise mache ich das so(hier sind die Klassen halt JPanels aber das ist ja egal)..
Code:
private void callClass(String klassenname) {
// zuerst alles auf dem JPanel entfernen
unten.removeAll();
// jetzt wird aus dem String eine Klasse gemacht und dann auf das JPanel geaddet.
// ACHTUNG: alles ist in einer Exception zusammengefasst(4 verschieden können auftreten)
Object o = null;
Class c = null;
try {
c = Class.forName(klassenname);
o = c.newInstance();
unten.add((Component) o);
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Exception : BDE.java. Fehler beim Aufruf der Klasse " + klassenname);
e.printStackTrace();
}
// jetzt wird alles neu gezeichnet
repaint();
}
dann kann ich sie mit
Code:
callClass(arr[x]);
aufrufen, das bekomme ich aber hier nicht hin.
weiss wer rat??
gruss MScalli
NACHTRAG:
Am Schluss sollte es ungefähr so aussehen(wenn das irgendwie geht)
Code:
arr_Klassennamen[x] mysub = new arr_Klassennamen[x];
mysub.call(new Object[] {});