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 ウィンドウ作成時のウィンドウの横幅