Я новичок здесь, и я новичок в разработке. Моя проблема в том, что у меня есть пара JTextField
элементов управления внутри JPanel
, который тоже находится внутри JFrame
, и в текстовом поле не отображается текст, который я передаю методом, и я не знаю, почему потому что источник этого действительно прост.
ПРОБЛЕМА
Я хочу показать координаты мыши холста, который я получаю, в паре текстовых полей. Этот холст находится внутри фрейма, как панель, которая содержит пару текстовых полей. Я собираюсь поместить здесь источник холста, который в MouseMotionListener
является ссылкой.
public void addPosicionPuntero(){
addMouseMotionListener(new MouseMotionAdapter(){
@Override
public void mouseMoved(MouseEvent evento){
x1 = evento.getX();
y1 = evento.getY();
updateUI();
panelCoordenadas pC = new panelCoordenadas();
pC.mostrarCoordenadas(x1,y1);
System.out.println(x1 + " --- " + y1);
}
@Override
public void mouseDragged(MouseEvent evento){
mouseMoved(evento);
}
});
}
хорошо, теперь в другом классе панель, которая включает в себя текстовое поле.
public class panelCoordenadas extends javax.swing.JPanel{
JTextField txfX = new JTextField("X");
JTextField txfY = new JTextField("Y");
public panelCoordenadas() {
this.setSize(100, 100);
//this.setBounds(60,50,100,60);
this.setLocation(50, 50);
this.setBackground(Color.yellow);
JLabel coordX = new JLabel("coordX");
JLabel coordY = new JLabel("coordY");
add(coordX);
add(coordY);
txfX.setEditable(false);
txfY.setEditable(false);
txfX.setSize(40, 20);
txfY.setSize(40, 20);
add(txfX);
add(txfY);
}
public void mostrarCoordenadas(int x, int y){
txfX.setText(String.valueOf(x));
txfY.setText(String.valueOf(y));
System.out.println("mostrarCoordenadas = " + x + " --- " + y);
updateUI();
}
}
Я поместил System.out, чтобы узнать, получает ли он данные. Данные показываются на экране, но не для текстового поля.
Если кто-нибудь знает, в чем проблема, я рад сообщить мне.