alt text

Başlık açık olmayabilir sanırım. Mesela yukarıdaki gibi bir pencerenin cancel butonu ile sağ üst köşede bulunan X butonunu nasıl override yapabilirim? Bunlardan 3 tane peşpeşe kullanmam gerekiyor ve kullanıcı bu aşama sırasında bu tuşlara bastığında text dosyama null değer gönderdiği için bu tuşlara bastığı anda programın tamamen kapatılmasını nasıl sağlayabilirim?

soruldu: 23 Eki '12, 04:03

Timur%20Aykut%20YILDIRIM's gravatar image

Timur Aykut YILDIRIM
371325047
cevap kabul oranı: 14%


O butonları override etmek yerine varolan imkanları kullanabilirsin.

JOptionPaneTest.java:

import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.*;

public class JOptionPaneTest {

    public static void main(String[] args) {
        JTextField yilTextField = new JTextField();

        JPanel jPanel = new JPanel();
        jPanel.setLayout(new BoxLayout(jPanel, BoxLayout.PAGE_AXIS));

        jPanel.add(new JLabel("Öğrencinin okula başladığı yıl:"));
        jPanel.add(yilTextField);

        int sonuc = 1; // OK:0, Cancel:2, Close:-1   
        String yazi;

        while (sonuc != 0) {
            sonuc = JOptionPane.showConfirmDialog(null, jPanel,
                    "Birkaç soru", JOptionPane.OK_CANCEL_OPTION);

            yazi = yilTextField.getText();

            if (sonuc == JOptionPane.OK_OPTION) {                
                if ("".equals(yazi) || yazi == null) {
                    mesajGoster();
                    sonuc = 1;
                } else
                    System.out.println("Yıl: " + yilTextField.getText());
            }

            if (sonuc == JOptionPane.CANCEL_OPTION) {
                mesajGoster();
                //Programı kapatmak için System.exit(0); kullanılabilir.
            }

            if (sonuc == JOptionPane.CLOSED_OPTION) {
                mesajGoster();
                //System.exit(0);
            }
        }
    }

    static void mesajGoster(){
        JOptionPane.showMessageDialog(null, "Okula başladığınız yılı girin.", "Hata", JOptionPane.ERROR_MESSAGE);
    }
}
permanent link

cevaplandı: 23 Eki '12, 10:11

rahmanyazgan's gravatar image

rahmanyazgan ♦
4.4k83559
cevap kabul oranı: 26%

değiştirildi: 23 Eki '12, 13:45

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,077
×79
×4
×2

Soruldu: 23 Eki '12, 04:03

Görüntüleme: 1,197 kez

Son güncelleme: 23 Eki '12, 13:45

powered by BitNami OSQA