JavaでJFrameをプログラム的に最小化・最大化する方法
JFrameクラスはFrameクラスのサブクラスであり、フレームに追加されたコンポーネントは「コンテンツ」と呼ばれ、contentPaneによって管理されます。JFrameは、タイトルバー、ボーダー(枠線)、オプションのメニューバー、そしてユーザー固有のコンポーネントを含むウィンドウを持ちます。
通常、JFrameの最小化や最大化は、画面右上にある最小化ボタン・最大化ボタンをクリックすることで行えます。しかし、これらの操作はプログラムから実行することも可能です。具体的には、setState(JFrame.ICONIFIED)を呼び出せばフレームを最小化でき、setExtendedState(JFrame.MAXIMIZED_BOTH)を呼び出せばフレームを最大化できます。
サンプルコード
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JFrameIconifiedTest extends JFrame implements ActionListener {
private JButton iconifyButton, maximizeButton;
public JFrameIconifiedTest() {
setTitle("JFrameIconified Test");
iconifyButton = new JButton("JFrame Iconified");
add(iconifyButton, BorderLayout.NORTH);
iconifyButton.addActionListener(this);
maximizeButton = new JButton("JFrame Maximized");
add(maximizeButton, BorderLayout.SOUTH);
maximizeButton.addActionListener(this);
setSize(400, 275);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
public void actionPerformed(ActionEvent ae) {
if(ae.getSource().equals(iconifyButton)) {
setState(JFrame.ICONIFIED); // フレームを最小化する
} else if(ae.getSource().equals(maximizeButton)) {
setExtendedState(JFrame.MAXIMIZED_BOTH); // フレームを最大化する
}
}
public static void main(String args[]) {
new JFrameIconifiedTest();
}
}
実行結果

上記のプログラムでは、「JFrame Iconified」ボタンをクリックするとフレームが最小化され、「JFrame Maximized」ボタンをクリックするとフレームが最大化されます。このように、setState()メソッドやsetExtendedState()メソッドを活用することで、ユーザーの操作に依存せず、アプリケーションのロジックから自由にウィンドウの状態を制御できるようになります。
-
JavaでJFrameの最大化ボタンを無効化する方法を解説
JFrameは、javax.swingパッケージに属するクラスで、java.awt.Frameクラスを継承しています。境界線とタイトルバーを持つトップレベルウィンドウであり、JFrameクラスには外観や動作をカスタマイズするための多数のメソッドが用意されています。JFrameのサイズを設定した後でも、デフォルトの状態ではユーザーが自由にウィンドウサイズを変更できてしまいます。具体的には、カーソルをウィンドウの隅に合わせてドラッグすればサイズを変更できますし、右上にある閉じるボタンの隣の「最大化」ボタンを押せば、画面いっぱいに拡大されてしまいます。これは、JFrameクラスではリサイズ(resi
-
JavaのJToggleButton実装ガイド:ON/OFF切替ボタンの作り方を解説
JToggleButtonとは JToggleButtonはAbstractButtonを拡張したクラスで、クリックするたびにONとOFFが切り替わるトグルボタンを実現するために使用されます。通常のボタンと異なり、押した状態を保持できるのが特徴です。 JToggleButtonの主な特徴 最初に押されたときは押し込まれた状態のままとなり、もう一度押してはじめて元の状態(押されていない状態)に戻ります。 ボタンが押されるたびにActionEventが発生します。 さらに、JToggleButtonはItemEventも発生させることができます。このイベントは、選択状態という概念を持つコンポー