setUndecoratedを使用したフレーム作成クラスを作っていますが、エラーが発生してしまいました。
Exception in thread "main" java.awt.IllegalComponentStateException: The frame is displayable. at java.awt.Frame.setUndecorated(Frame.java:923) at org.jyl.base.JylFrame.<init>(JylFrame.java:36) at TestData$1.<init>(TestData.java:10) at TestData.main(TestData.java:10)
この関数をコンストラクタから呼び出す方法はないでしょうか。
package org.jyl.base; import java.awt.Color; import java.awt.Dimension; import javax.swing.JFrame; import javax.swing.JMenuBar; public class JylFrame extends JFrame { public JylFrame() { super(); setLocation( 100, 100 ); this.setSize( new Dimension( 640, 480 ) ); // 描画領域のサイズを設定 pack(); setDefaultCloseOperation( 3 ); // EXIT_ON_CLOSE this.setBackground( new Color( 0xff000000, true ) ); // 背景色を黒に設定 } public JylFrame( boolean isUndecorated, boolean isMenuBar ) { this(); if( isMenuBar ){ JMenuBar menu = new JMenuBar(); initMenuBar( menu ); setJMenuBar( menu ); } setVisible( false ); setUndecorated( isUndecorated ); } }
この引数ありのコンストラクタで第二引数を呼び出すとエラーです。
・フレームを作成する前に使用しなくてはいけない、とAPIに書いてありました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。