別のフレームをインスタンス化するフレームがありますが、インスタンス化されたフレームで閉じる (x) ボタンを使用したくないので、ボタンを作成しました。このボタンを使用して、JVM を終了せずにインスタンス化されたフレームを閉じることができるようにコーディングする方法を教えてください。
24690 次
6 に答える
5
独自の閉じるボタンを持つことは奇妙な UI であり、避けるべきです。
独自のボタンがクリックされたときにフレームを取り除くには、次のようにします。
jFrame.setVisible(false);
また
jFrame.dispose();
完全に消したい場合。
閉じるボタンがクリックされたときに JVM を終了したくないフレームでは、次のように指定します。
jFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
また
jFrame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
必要な動作に応じて。
于 2009-01-10T08:55:57.837 に答える
0
setVisible(false)
インスタンス化された JFrame をビューから非表示にするために使用できます
于 2013-10-22T00:52:46.283 に答える
0
これを使って:
jFrame.setUndecorated(true);
jFrame.getRootPane().setWindowDecorationStyle(JRootPane.NONE);
于 2009-11-16T15:46:03.883 に答える
0
setVisible() または dispose() 関数を試すことができます
あなたのメインクラスのために...
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//new DemoTryCatch()
new Frame1();
}
}
最初のフレーム クラスの場合...
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Frame1 extends JFrame{
JButton newFrame=new JButton("Frame 2");
public Frame1() {
// TODO Auto-generated constructor stub
super("Frame 1");
add(newFrame);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(300,300);
newFrame.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
new Frame2();\\instantiating your new Frame
}
});
}
}
インスタンス化されたフレームの場合...
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Frame2 extends JFrame{
JButton CloseFrame2=new JButton("CloseFrame2");
public Frame2() {
// TODO Auto-generated constructor stub
super("Frame 1");
add(CloseFrame2);
setVisible(true);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setSize(300,300);
CloseFrame2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
setVisible(false);\\You could also use dispose()
}
});
}
}
于 2014-06-16T09:53:38.227 に答える
0
私はトムに同意します。あなたが書き留めたコードでは次のように思います:
[framename].setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
EXIT_ON_CLOSE
アプリケーションを完全に終了することを意味します。
次のコマンドを使用して X ボタンをクリックすると、ウィンドウを閉じることができます。
[framename].setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
サンプルコードは次のとおりです。
package answers;
import javax.swing.JFrame;
public class Answers {
public static void main(String[] args) {
//frame 1
JFrame frame1 = new JFrame("this is frame 1");
frame1.setSize(500, 500);
frame1.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame1.setLocationRelativeTo(null); // ignore this its just to place frame 1 on the center
//now this is the code for frame2
//frame 2
JFrame frame2 = new JFrame("this is frame 2");
frame2.setSize(500, 500);
frame2.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame1.setVisible(true);
frame2.setVisible(true);
}
}
于 2014-01-31T14:16:06.767 に答える