-1
콘텐트 창에 MouseListener
이 설정된 최근에 프로그램을 만들었습니다. 문제는 JTextField
을 클릭했을 때 심지어 setEnabled(false)
및 setEditable(false)
이라고 불렀지 만 내 mousePressed()
은 발생하지 않습니다. 나머지는 잘 작동합니다. 그래서 내 질문 : JTextField
포함 된 기본 MouseListener
해제하려면 어떻게합니까?JTextField의 기본 MouseListener를 비활성화하는 방법은 무엇입니까?
편집 : 시험 목적 :
당신이 그것의 문자를 선택할 수 있도록 내가 그것을 사용할import java.awt.EventQueue;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JFrame;
import javax.swing.JTextField;
public class test extends JFrame implements MouseListener{
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
test frame = new test();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
test(){
setBounds(0,0,500,500);
addMouseListener(this);
setLayout(null);
JTextField n = new JTextField("test");
n.setEditable(false);
n.setBounds(200,200,40,20);
add(n);
}
@Override
public void mouseClicked(MouseEvent arg0) {
System.out.println("test");
}
@Override
public void mouseEntered(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent arg0) {
// TODO Auto-generated method stub
}
}
가능한 복제 [의 MouseListener/ActionListener를 제거하는 방법 on JTextField] (https://stackoverflow.com/questions/2627946/how-to-remove-mouselistener-actionlistener-on-a-jtextfield) – vinS
필드를 비활성화 했으므로 리스너가 왜 그런지 궁금한가요? 일하지 않니? – Kayaman
나는 그것의 특성을 선정 할 수 없다 그래야, 그것을 무능하게했다. MouseListener는 그 부모로부터입니다. contentPane 또는 JLabel을 클릭하면 작동합니다. 그냥 JTextField 싶지 않아. – Ragnaroek511