Generic metod ile classtan yeni bir instance nasıl oluşturabilirim.

public class dialogTest1 extends JDialog {
       public dialogTest(){
       }
}
public class dialogTest2 extends JDialog {
       public dialogTest(){

       }
}

public class helper {

       private static <TForm extends JDialog> TForm GetForm(Object[] constParams) throws Exception {

             return  (TForm) //Yeni bir instance oluşturulacak getConstructor(Object.class).newInstance(constParams);
       }

       public static <TForm extends JDialog> void ShowDialogForm(Object[] constParams)throws Exception{
             TForm form ;
             form=<TForm>GetForm(null);
form.setSize(100,100);
             form.setModal (true);
.
.
.
.
             form.show();
       }

}
helper.<dialogTest1>ShowDialogForm(null);
helper.<dialogTest2>ShowDialogForm(null);

soruldu: 06 Eki '15, 05:14

mkose's gravatar image

mkose
012
cevap kabul oranı: 0%

değiştirildi: 06 Eki '15, 07:47

%C3%B6zcanacar's gravatar image

özcanacar ♦♦
17.2k59183183

1

Java'da sınıf isimleri büyük harflerle başlar. "Name Convention" kavramına ufak bir göz atarsan güzel olur ;)

(06 Eki '15, 16:05) Turgay Can Turgay%20Can's gravatar image

import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import javax.swing.JDialog;

public class Helper {

    public static <T extends JDialog> void showDialogForm(final Class<T> clazz,
            final Object[] constParams) throws InstantiationException,
            IllegalAccessException {
        try {
            final Constructor<T> ctor = clazz.getConstructor();
            ctor.newInstance(constParams).show();

        } catch (NoSuchMethodException | SecurityException
                | IllegalArgumentException | InvocationTargetException e) {
            e.printStackTrace();
        }
    }

    public static void main(final String[] args) throws Exception {
        Helper.showDialogForm(DialogTest1.class, null);
        Helper.showDialogForm(DialogTest2.class, null);
    }
}
permanent link

cevaplandı: 06 Eki '15, 08:20

%C3%B6zcanacar's gravatar image

özcanacar ♦♦
17.2k59183183
cevap kabul oranı: 52%

Özcan bey cevap için teşekkür ederim.

(07 Eki '15, 05:25) mkose mkose's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,076

Soruldu: 06 Eki '15, 05:14

Görüntüleme: 235 kez

Son güncelleme: 07 Eki '15, 05:25

powered by BitNami OSQA