03. フレーム作成 - hannsi-to/LFJG-LiteFrameJavaGui GitHub Wiki
ここではフレームの作成方法を説明します。 はじめにメインクラスを作成しLFJGFrameインスタンスを継承します。次にFrame型のグローバル変数を作成します。setFrame関数を作成しそこでFrameのインスタンスを作成します。
public class MainFrame implements LFJGFrame {
private Frame frame;
public static void main(String[] args) {
new MainFrame().setFrame();
}
@Override
public void init() {
}
@Override
public void drawFrame() {
}
@Override
public void stopFrame() {
}
@Override
public void setFrameSetting() {
}
public void setFrame() {
frame = new Frame(this, "MainFrame");
}
}
Frameインスタンス作成時二つの引数を渡します。第一引数にはLFJGFrameが継承されたクラスのインスタンス、第二引数にはフレームの名前を渡します。名前はスレッドの名前になります。 次にオーバーライドされた関数を説明します。 initはフレーム初期化時に実行されます。 drawFrameはループ式の描画処理になります。 stopFrameはウィンドウ終了時に実行されます。 setFrameSettingはウィンドウの設定を行うときに関数内に処理を書きます。
フレームの設定
フレームの設定方法を説明します。 setFrameSetting関数ないで以下のコードを入力します。
frame.setFrameSettingValue(Class<? extends FrameSettingBase<?>> frameSettingBase, T value);
第一引数に設定したいクラス、第二引数に値を入力します。 設定一覧は以下の通りです。
[!CAUTION] RenderingTypeSettingは使用しないでください。それに関する関数や変数、クラスも使用しなしでください。
クラス名 | 型 | デフォルト値 | 機能 |
---|---|---|---|
AntiAliasingSetting | AntiAliasingType | AntiAliasingType.MSAA | アンチエイリアスを適応します。 |
CheckSeveritiesSetting | SeverityType[] | new SeverityType[]{SeverityType.Low, SeverityType.Medium, SeverityType.High} | OpenGLのデバッグの出力時で出力するレベル設定。 |
DecoratedSetting | Boolean | true | デコレーション設定をします。 |
FloatingSetting | Boolean | false | 常に手前表示 |
FocusedSetting | Boolean | true | ウィンドウ初期化時にウィンドウをフォーカスするかどうか。 |
GLFWDebugSetting | Boolean | true | GLFWのデバッグを出力を行うかどうか。 |
HeightSetting | Integer | DisplayUtil.getDisplaySizeDimension().height | ウィンドウ作成時のウィンドウの縦幅 |
IconSetting | ResourcesLocation | null | ウィンドウのアイコン |
MonitorSetting | MonitorType | MonitorType.Window | ウィンドウの種類の設定 |
MultiSamplingValueSetting | Integer | 64 | マルチサンプリングの設定 |
OpenALDebugSetting | Boolean | true | OpenALのデバッグを行うかどうか |
OpenGLDebugSetting | Boolean | true | OpenGLのデバッグを行うかどうか |
PosXSetting | Integer | 0 | ウィンドウ作成するx座標 |
PosYSetting | Integer | 0 | ウィンドウ作成するy座標 |
RefreshRateSetting | Integer | 60 | リフレッシュレートを設定 |
RenderingTypeSetting | RenderingType | RenderingType.OpenGL | レンダリングタイプを設定。※非推奨 |
ResizableSetting | Boolean | true | ウィンドウのリサイズ |
TimeSourceSetting | TimeSourceType | TimeSourceType.SystemTime | タイムソースの設定 |
TitleSetting | String | "LFJG-Frame" | ウィンドウタイトルを設定 |
TransparentFrameBufferSetting | Boolean | false | ウィンドウの透明なフレームバッファ設定 |
VSyncSetting | VSyncType | VSyncType.VSyncOff | VSyncの設定 |
VisibleSetting | Boolean | false | フレームの可視性を設定 |
WidthSetting | Integer | DisplayUtil.getDisplaySizeDimension().width | ウィンドウ作成時のウィンドウの横幅 |