import java.awt.BorderLayout; import java.awt.Container; import java.awt.Dimension; import java.awt.Toolkit; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; class NewFrame extends JFrame { public NewFrame(String string) { // TODO 自動生成されたコンストラクター・スタブ super (string); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel p1 = new JPanel(); p1.setPreferredSize( new java.awt.Dimension( 600 , 270 )); Container contentPane = getContentPane(); contentPane.add(p1, BorderLayout.NORTH); contentPane.add( new JLabel( "Xボタンで子ウインドウも閉じる" )); pack(); System.out.println(Toolkit.getDefaultToolkit().getScreenSize()); Dimension size = Toolkit.getDefaultToolkit().getScreenSize(); System.out.println(size.width); setLocation(size.width / 2 , size.height / 2 ); setVisible( true ); } } class NewFrame2 extends JFrame { public NewFrame2(String string) { // TODO 自動生成されたコンストラクター・スタブ super (string); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); JPanel p1 = new JPanel(); p1.setPreferredSize( new java.awt.Dimension( 600 , 270 )); Container contentPane = getContentPane(); contentPane.add(p1, BorderLayout.NORTH); contentPane.add( new JLabel( "Xボタンを押しても親ウインドウは閉じない" )); pack(); Dimension size = Toolkit.getDefaultToolkit().getScreenSize(); setLocation(size.width / 2 + 30 , size.height / 2 + 30 ); setVisible( true ); } } class NewFrame3 extends JFrame { public NewFrame3(String string) { // TODO 自動生成されたコンストラクター・スタブ super (string); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); JPanel p1 = new JPanel(); p1.setPreferredSize( new java.awt.Dimension( 600 , 270 )); Container contentPane = getContentPane(); contentPane.add(p1, BorderLayout.NORTH); contentPane.add( new JLabel( "Xボタンを押しても親ウインドウは閉じない" )); pack(); Dimension size = Toolkit.getDefaultToolkit().getScreenSize(); setLocation(size.width / 2 + 60 , size.height / 2 + 60 ); setVisible( true ); } } public class swingTestSlider { public static void main(String[] args) { new NewFrame( "親フレーム" ); new NewFrame2( "子ウインドウ" ); new NewFrame3( "子ウインドウ2" ); } } |
setDefaultCloseOperation :JFrameで有効 ApplicationFrameでは使えない
EXIT_ON_CLOSE クローズボタンのクリック時にプログラムの実行を終了する
DISPOSE_ON_CLOSE クローズボタンのクリック時に JFrame を破棄する
DO_NOTHING_ON_CLOSE クローズボタンをクリックしても何もしない
HIDE_ON_CLOSE クローズボタンのクリック時にウィンドウを隠す
Dimension getSize ( ) フレームの大きさを獲得します
0 件のコメント:
コメントを投稿