public class MainMenu extends GameMenu{
Table table;
Skin skin;
public MainMenu(){super();};
protected void loadWidgets(){
skin.add("playButton", com.mygdx.game.LIBGDXwrapper.gameGUI.widgets.MainMenuWidgets.loadPlayButton(table));
table.row();
skin.add("hightScoreButton", com.mygdx.game.LIBGDXwrapper.gameGUI.widgets.MainMenuWidgets.loadHighScoreButton(table));
//table.row();
}
protected void loadInputlisteners(){
skin.get("playButton", Button.class);
}
@Override
public String toString(){
return "Menu";
}
}
public abstract class GameMenu extends Stage{
private Settings gameSettings;
//public GameMenu(Settings gameSettings){
// this.gameSettings = gameSettings;
//}
public GameMenu(){};
protected abstract void loadWidgets();
protected abstract void loadInputlisteners();
}
private static enum GameMenus {MainMenu(MainMenu.class);
private final Class<? extends GameMenu> menuType;
GameMenus(Class<? extends GameMenu> menuType){
this.menuType = menuType;
}
public Class<? extends GameMenu> createInstance(Settings gameSettings){
GameMenu gui = menuType.getDeclaredConstructor().newInstance();
}
};
私は数時間この作業をしようとしています。 'GameMenu'のクラスタイプ 'Class <'の派生クラス? GameMenu> 'を拡張しますか? 「GameMenu」のすべての派生クラスには、1つの引数 'Settings'を持つコンストラクタがあります。Android Studioでメソッド 'getDeclaredConstructor'で拡張クラスのコンストラクタを使用して、クラスの型をインスタンス化する方法
私は 'getDeclaredConstructor'メソッドからNoSuchMethodExpectionを取得しています。
誰でも私を助けることができたらとても感謝しています。
可能なXY問題タイプの質問 –
@DontKnowMuchButGettingBetterあなたは手の込んだでしてください: おそらく、コンストラクタ引数の型を指定したいですか? – Joao
このコードの目的は何ですか?あなたはそれで何をしようとしていますか? –