1
這段代碼可以讓我運行一個罐子是我計劃的一部分:Java反射。運行一個外部jar並引用其類?
File f = new File("client.jar");
URLClassLoader cl = new URLClassLoader(new URL[]{f.toURI().toURL(), null});
Class<?> clazz = cl.loadClass("epicurus.Client");
Method main = clazz.getMethod("main", String[].class);
main.invoke(null, new Object[]{new String[]{}});
反正是有,我可以指的是外部程序的類?
我希望能夠改變它的JFrame的標題。
title屬性位於JFrame的**實例**上,而不是類。雖然您可以使用反射來檢查類,但您無法操作實例。 –
@SteveH。 - 呃?當然,你可以......這是反思的一點。 'Field.set(objInstance,fieldValue)'...你去了,我只是操縱了一個實例。 –
@BrianRoach你是對的 - 也許我應該說你不能「獲得」實例。你怎麼知道一個新的JFrame被創建,你會在哪裏獲得參考?我的假設是jar文件是未知的 –