PDA

View Full Version : مشکل با JNI



yegane8
جمعه 03 شهریور 1391, 12:28 عصر
سلام
من تو برنامم از چند تا از برنامه ها windows استفاده می کنم تصمیم گرفتم که برای این کار از یک کلاس abstract استفاده کنم
اینو نوشتم :
import java.io.IOException;

public abstract class JNI {
String cmd;
String file;
protected JNI(){

showFrame();
}

private void showFrame() {

cmd = "cmd.exe /c start ";
try {
Runtime.getRuntime().exec(cmd + file);
} catch (IOException ex) {
ex.printStackTrace();
}
}
}

بعد واسه هر برنامه ای که می خوام باز شه مثلا مرورگر باز شه اینو نوشتنم :
public class net extends JNI{

public net(){

file = "http://www.google.com";
}

}

و از این کلاس در actionListener شی ساختم حالا وقتی دکمه موردنظر رو می زنم می گه windows نمی تونه null رو پیدا کنه
باید چی کار کنم ؟
باتشکر

spiderman200700
جمعه 03 شهریور 1391, 15:26 عصر
سلام
وقتی از یه کلاس ارث بری میکنی، اول کانسترکتور پدر صدا زده میشه ، بعد کانسترکتور فرزند.
باید کانسترکتور کلاس JNI رو اینطوری بنویسی:
protected JNI(String file){
this.file=file;
showFrame();
}
و کانسترکتور کلاس net رو اینطوری بنویسی:
public net(){
super("http://www.google.com");
}

چرا JNI رو abstract تعریف کردی؟!

yegane8
جمعه 03 شهریور 1391, 16:54 عصر
ممنون

چرا JNI رو abstract تعریف کردی؟!
اخه یه متد abstract در این کلاس وجود داره که اینجا نیاوردمش تو کلاس هایی که ازش به ارث می برند پیاده سازیش می کنم
اشتباه کردم ؟

spiderman200700
جمعه 03 شهریور 1391, 18:20 عصر
نه اشتباه نکردی. چون متد abstractی ندیدم این سوال رو پرسیدم.
موفق باشی :لبخندساده: