クライアントウィンドウにゃのサイズ設定にゃ

フレームウィンドウにゃのサイズを320x240って設定してたにゃので、クライアントウィンドウにゃのサイズがちっちゃくにゃってたにゃのですにゃ。
にゃので、クライアントウィンドウにゃのサイズを320x240に設定して、そこからフレームウィンドウにゃのサイズを計算させるようにゃに変更ですにゃ。
これで、ばっちり320x240にゃのサイズにゃになりましたにゃ。
 
※クライアントウィンドウって表現にゃはOS/2にゃのPM風にゃいいかたにゃので気にしにゃいようにゃににゃ。Javaだと別の呼び方ですにゃ。
 

import java.awt.*;
import javax.swing.*;
import javax.media.opengl.*;

class infcat_jogl extends GLJPanel implements Runnable {
  private static JFrame frame;

  public void run() {
    // アイコン設定
    ClassLoader cl = getClass().getClassLoader();
    ImageIcon icon = new ImageIcon( cl.getResource( "images/icon/icon.jpg" ) );
    frame.setIconImage( icon.getImage() );
    // ウィンドウのサイズと表示位置を設定
    setPreferredSize( new Dimension( 320, 240 ) ); // サイズ設定
    frame.pack(); // フレームウィンドウサイズを再計算
    frame.setLocationRelativeTo( null ); // 中央にする
    // フレームウィンドウを表示
    frame.setVisible( true );
  }

  public static void main(String [] args) {
    // フレーム作成
    frame = new JFrame();
    frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
    frame.setResizable( false );            // リサイズ不可
    frame.setTitle( "InfinityCat Zero" );   // タイトル設定

    // ゲーム作成
    infcat_jogl game_main = new infcat_jogl();
    frame.getContentPane().add( game_main );

    // ゲームスレッド開始
    (new Thread( game_main )).start();
  }
}