私は楕円に私のJFrameウィンドウの形状を設定しようとしているが、その代わりに、それは次のエラーを投げている:は
java.lang.IllegalArgumentException: wrong number of arguments
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at Splash.setShape(Splash.java:48)
at Splash.<init>(Splash.java:25)
at BackOffice.init(BackOffice.java:40)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
問題は、I 2つのパラメータを送信していますが、メソッドは2つのパラメータしか受け付けないので、どこからこのエラーが発生しているのかわかりません。 EDIT
private void setShape() {
Class<?> awtUtilitiesClass;
try {
awtUtilitiesClass = Class.forName("com.sun.awt.AWTUtilities");
Method mSetWindowShape = awtUtilitiesClass.getMethod("setWindowShape", Window.class, Shape.class);
Shape shape = (Shape) new Ellipse2D.Double(0, 0, getWidth(), getHeight());
mSetWindowShape.invoke(this, shape);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
}
:ここmSetWindowShape.invoke(this, shape);
は、関連する方法であるという行でエラーにポイントというラインは、私は1つPARAMTERを脱いで、同じエラー(引数の数が正しくありません)を得ました。私は3つのパラメータ(ウィンドウ、形状、0)を入れ、 '引数型の不一致'を得ました。私は3番目のパラメータとしてブール値と文字列を試しましたが、それらも引数型の不一致を与えました。チュートリアルでは2つのパラメータしか表示されないので、私はこれを理解していません。今は明らかに3つありますか?
うわー、頭が痛い。本当にありがとう!! – Ozzy