close (X) düğmesini kullanarak ve JVM sonlandırma olmadan benim JFrame kapanış

oy
2

ben başka çerçeveyi başlatır bir çerçeve var ama ben örneği çerçeve. üzerine yakın (x) düğmesini kullanarak istemiyorum, bu yüzden bir düğme oluşturduk. nasıl ben bu düğmeye JVM çıkmadan örneği çerçeveyi kapatmak için kullanılabileceğini kod yoktur.

Oluştur 09/12/2008 saat 19:16
kaynak kullanıcı
Diğer dillerde...                            


6 cevaplar

oy
5

Kendi kapatma düğmesi olması garip UI ve kaçınılmalıdır.

Kendi düğme sadece yapabileceği tıklandığında bir çerçeve kurtulmak için:

jFrame.setVisible(false);

veya

jFrame.dispose();

Tamamen ondan kurtulmak istiyorum.

çerçeveler üzerinde belirttiğiniz tıklandığını kapatma düğmesi üzerindeki JVM çıkmak istemiyorum:

jFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

veya

jFrame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);

İstediğiniz davranışı hangi bağlı.

Cevap 10/01/2009 saat 09:55
kaynak kullanıcı

oy
0

Sen) (fonksiyonları SetVisible (deneyin) veya elden verebilir

ana sınıf için ...

    public class Main {

/**
 * @param args
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub
    //new DemoTryCatch()
    new Frame1();
}

}

İlk çerçeve sınıf için ...

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
        }
    });
}
}

örneği çerçeve için ...

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()
        }
    });
}
}
Cevap 16/06/2014 saat 10:53
kaynak kullanıcı

oy
0

Ben kodunda aşağı yazdığını düşünüyorum katılıyorum Tom:

[framename].setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

EXIT_ON_CLOSE tamamen uygulamadan çıkın anlamına gelir.

Sen kullanarak kendi X düğmesine tıklayarak pencereyi kapatabilirsiniz:

[framename].setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

Aşağıda örnek bir koddur:

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);

    }

}
Cevap 31/01/2014 saat 15:16
kaynak kullanıcı

oy
0

Sen kullanabilirsiniz setVisible(false)sadece görünümden örneği JFrame gizlemek amacıyla

Cevap 22/10/2013 saat 01:52
kaynak kullanıcı

oy
0

Bunu kullan:

jFrame.setUndecorated(true);
jFrame.getRootPane().setWindowDecorationStyle(JRootPane.NONE);
Cevap 16/11/2009 saat 16:46
kaynak kullanıcı

oy
-1

Im sağ ama diyebiliriz Im değil emin eğer dispose(). Javadoc kullandığınız olsa yeniden açabilirsiniz önerir show().

Cevap 12/07/2013 saat 00:05
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more