İçerideki metni değiştirirken olayı JLabel'de nasıl geri alabilirim ??JLabel üzerinde değişiklik metni olayı
JLabel'im var ve içindeki metni değiştirdiğimde diğer alanı güncellemem gerekiyor.
İçerideki metni değiştirirken olayı JLabel'de nasıl geri alabilirim ??JLabel üzerinde değişiklik metni olayı
JLabel'im var ve içindeki metni değiştirdiğimde diğer alanı güncellemem gerekiyor.
IMHO, JLabels textchange üzerinde bir etkinlik alamıyor. Ama bunun yerine JLabel bir JTextField kullanabilirsiniz:
private JTextField textFieldLabel = new JTextField();
textFieldLabel.setEditable(false);
textFieldLabel.setOpaque(true);
textFieldLabel.setBorder(null);
textFieldLabel.getDocument().addDocumentListener(new DocumentListener() {
public void removeUpdate(DocumentEvent e) {
System.out.println("removeUpdate");
}
public void insertUpdate(DocumentEvent e) {
System.out.println("insertUpdate");
}
public void changedUpdate(DocumentEvent e) {
System.out.println("changedUpdate");
}
});
Not: bu olay olursa olsun metin değişmiş olur nasıl ateşlenir; TextField üzerinde "setText()" ile veya panoya kesme/yapıştırma yoluyla veya "kullanıcı arabirimindeki alana doğrudan yazarak" setEditable (false) "yapmazsanız programatik olarak programlanabilir.
hatları:
textFieldLabel.setEditable(false);
textFieldLabel.setOpaque(true);
textFieldLabel.setBorder(null);
JTextField bir JLabel gibi görünmesi için kullanılır. bu yüzden teknik
PropertyChangeListener l = new PropertyChangeListener() {
public void propertyChanged(PropertyChangeEvent e) {
// do stuff here
}
};
label.addPropertyChangeListener("text", l);
değil
gibibu cevap yanlış (JLabel için kullanılabilir dinleyicilerle ilgili bölüm) – kleopatra
techically, cevap PropertyChangeListener kullanabilir ve "metin" değişikliklere dinlemektir mülkiyet şey: genel tasarımı yeniden ziyaret etmek ve bağlamak için değer olabilir
Etiketindeki değişikliği tetikleyen orijinal kaynak Her iki alanı aynı anda güncellemek daha iyi olabilir mi? –
Bir düğmeye basarak jlabel1 bir metin koydum ve ne seçtiğime bağlı olarak başka bir metin koymak zorundayım i jLabel2 – Giovanni