2016-03-26 24 views
2

'dan silme devre dışı bırak MySQL için Yönetici olarak çalışan bir JTextPane var, bu yüzden bu çirkin siyah beyaz konsol yerine kullanıyorum. Ancak, 'Enter' düğmesine bastıktan sonra 'Sil' düğmesini nasıl devre dışı bırakacağımızı ve bir sonraki satıra geçmeyi öğrenmek istiyorum. Örneğin, şunu yazarsam:JTextPane

Yeni veritabanı kullanıcısı oluştur;

Kullanıcı Enter'a bastıktan sonra 'Yeni veritabanı kullanıcısı oluştur' satırını silmelerini istemiyorum.

Teşekkürler beyler!

Yani
if (key == KeyEvent.VK_ENTER) {  

      //*********************************** 
      se = jTextPane1.getText().toLowerCase(); 
      String[] linea = se.split("\n"); 
      String sent = linea[linea.length-1]; 

      //******************************** 

      String[] validar = sent.split(" "); 
     if(validar[0].equals("crear") && validar[1].equals("bd")){ 
      try {    
       for (int i = 2; i < validar.length; i+=3){ 
       sentencia.executeUpdate("create database "+validar[i]); 
       jTextPane2.setText("Base de Datos "+validar[i]+" Creada"); 
        }//for 
      }catch (Exception ae) { 
      jTextPane2.setText(ae.getMessage()); 
     }//catch 
     }//if 
     else{ 
      jTextPane2.setText("COMANDO MAL INGRESADO"); 
      }//else 
}//ifEnter 

İstediğimi ########################## DÜZENLEME kullanıcı basıldıktan sonra 'Enter' ve, yani İlk 2 satırın ihtiyacım olanı doğruladığımı, Güncellemeyi MySQL üzerinde çalıştırıp JTextPane'in sonraki satırına taşıdığımı doğrularım, ancak silmek istedikleri takdirde silme düğmesini nasıl devre dışı bırakacağımı bilmiyorum. Doğru olana kadar her şey doğru değil, yapamazlar. Peki, kullanmam gereken kod ne olurdu?

+0

JTextField kullanabilir ve daha sonra girişi düzenlenemez JTextPane öğesine ekleyebilirsiniz. –

+0

Lütfen sorunuzu etkileyen geçerli kodunuzu belirtin. – TheMirrox

+0

@TheMirrox Sahip olduğum bir kod parçası var. Sorduğum şeyi alırsan cevap ver, eğer ingilizcem yeterince iyi değilse ... –

cevap

0

sadece offset/length izin verilen aralığın içinde olup olmadığını kontrol etmek ve her iki silme önlemek veya süper çağırmak için hiçbir şey yöntemleri yöntemlerinde

public void remove(FilterBypass fb, int offset, int length) throws 
        BadLocationException { 
    fb.remove(offset, length); 
} 

public void replace(FilterBypass fb, int offset, int length, String text, 
        AttributeSet attrs) throws BadLocationException { 
    fb.replace(offset, length, text, attrs); 
} 

bir DocumentFilter ekleyin (the example bakınız) ve geçersiz kılabilir.