// ================================================== // 設定画面を構築する関数 // ================================================== void createSettingWindow() { // ウィンドウの生成 window = newWindow( 0, 500, 800, 230, "Setting Window" ); // 時刻表示ラベルを生成して配置 timeLabel = newTextLabel( 10, 10, 200, 20, "" ); mountComponent( timeLabel, window ); // スライダーの左に振幅、周期、波長のラベルを生成して配置 int amplitudeLabel = newTextLabel( 45, 40, 100, 15, "A 振幅 (0〜1)" ); mountComponent( amplitudeLabel, window ); int omegaLabel = newTextLabel( 45, 60, 100, 15, "T 周期 (0.2〜10)" ); mountComponent( omegaLabel, window ); int lambdaLabel = newTextLabel( 45, 80, 100, 15, "λ 波長 (0.5〜8)" ); mountComponent( lambdaLabel, window ); // 振幅スライダー(範囲0.0〜1.0)を生成して配置 amplitudeSlider = newHorizontalSlider( 150, 40, 600, 20, amplitude, 0.0, 1.0 ); mountComponent( amplitudeSlider, window ); // 周期スライダー(範囲0.2〜10.0)を生成して配置 periodSlider = newHorizontalSlider( 150, 60, 600, 20, period, 0.2, 10.0 ); mountComponent( periodSlider, window ); // 波長スライダー(範囲0.5〜8.0)を生成して配置 wavelengthSlider = newHorizontalSlider( 150, 80, 600, 20, wavelength, 0.5, 8.0 ); mountComponent( wavelengthSlider, window ); // スライダー値を表示するラベルを生成して配置 infoLabel = newTextLabel( 150, 100, 400, 20, "" ); mountComponent( infoLabel, window ); updateInfoLabel(); // アニメーション速度のラベルと調整スライダーを生成して配置 int speedLabel = newTextLabel( 10, 140, 140, 15, "アニメーション速度" ); mountComponent( speedLabel, window ); speedSlider = newHorizontalSlider( 150, 140, 400, 20, speed, 0.0, 1.0 ); mountComponent( speedSlider, window ); // 時刻リセットボタンを生成して配置 resetButton = newButton(600, 125, 150, 40, "時刻をリセット"); mountComponent( resetButton, window ); // 配置後にウィンドウを描画して表示内容を更新 paintComponent( window ); }