JFrameの内側のコンポーネントからサイズを決める場合

JFrameのsetSizeは、閉じるボタン等含めたフレーム自体の大きさを設定する。

import javax.swing.JFrame;
import javax.swing.SwingUtilities;

public class Hoge {

  public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable() {
      public void run() {
        JFrame f = new JFrame();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setSize(256, 256);
        f.setVisible(true);
      }
    });
  }

}

内側の領域からサイズを決めたい場合は、内部のコンポーネントのsetPreferredSizeとJFrameのpackを呼び出す。

import java.awt.Dimension;

import javax.swing.JFrame;
import javax.swing.SwingUtilities;

public class Hoge {

  public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable() {
      public void run() {
        JFrame f = new JFrame();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.getContentPane().setPreferredSize(new Dimension(256, 256));
        f.pack();
        f.setVisible(true);
      }
    });
  }

}