You have to use java.awt.Container
, because JFrame is not a direct subclass of JComponent
!
So it should work with the following code:
package CustomComponents;
import java.awt.Container;
import java.awt.Dimension;
public class CSize {
public static void setDefiniteSize(Container c, int h, int w) {
Dimension k = new Dimension (h, w);
c.setMaximumSize(k);
c.setMinimumSize(k);
c.setPreferredSize(k);
}
}
Look at the hierarchy of the components:
java.awt.Component
|--java.awt.Container
|--java.awt.Window
| |--java.awt.Frame
| |--javax.swing.JFrame
|--javax.swing.JComponent
|--javax.swing.JLabel
Even better would be using java.awt.Component
, since this class is defining all methods you want to use (setMinimumSize, setMaximumSize and setPreferredSize).