Po kliknięciu na pole tekstowe do tego pola przypisać wartość parametru a

0

Hej no tak jak po tytule możecie odgadnąć potrzebuje takiej funkcji, że
Po kliknięciu na pole tekstowe do tego pola przypisać wartość parametru a
jak to mogę zrobić?

1

Wartość parametru a? O co chodzi? O dodanie obsługi zdarzenia do pola tekstowego?

TextField field = new TextField();
String a = "Mój tekst";
field.addMouseListener(new MouseAdapter() {
    @Override
    public void mouseClicked(MouseEvent e) {
      field.setText(a);
    }
});

Oczywiście masz pojęcie że pytasz o rzeczy bardzo podstawowe?

Tutaj gdybyś chciał dowiedzieć się więcej o zdarzeniach https://docs.oracle.com/javase/tutorial/uiswing/events/intro.html

1

Po pierwsze:
Dlatego że to dwie różne zmienne. Jeżeli zadeklarujesz jakąś zmienną/obiekt w funkcji to będzie on widoczny tylko w tej funkcji.

int jedna() {
  String a = "asd";
}

int druga() {
  field.setText(a); // nie ma takiej zmiennej jak "a"
}

Musisz zadeklarować tą zmienną poza funkcją jeżeli chcesz żeby to działało.

String a;
int jedna() {
  a = "asd";
}

Po drugie:
Mój kod z poprzedniej dodawał nową obsługę zdarzenia (więc powinieneś go wywołać tylko raz, na pewno nie za każdym razem kiedy użytkownik klika).

Po trzecie:
Widzę już że masz void Pol11ActionPerformed(java.awt.event.ActionEvent evt) więc ta funkcja obsługuje to zdarzenie, nie musisz dodawać kolejnej.

Lepiej jednak by było gdybyś powiedział co chcesz zrobić to może znajdziemy na to lepszy sposób :)

1

Robisz coś a'la sudoku czy sudoku? Najlepiej by było gdybyś zrobił jedno to samo zdarzenie ActionPerformed na 9 przycisków i zapisał do ich Tagów cyfrę której odpowiadają (czyli pierwszy ma Tag=1, drugi Tag=2, etc). W tym zdarzeniu odczytuj sobie Tag przycisku i w tym ActionPerformed przycisku ustaw tekst odpowiedniej kontrolce (odpowiedniemu polu tekstowemu) który wcześniej wybrałeś.

Np każdemu polu tekstowemu ustaw to samo zdarzenie i przy kliknięciu zapisz sobie referencję do niego.

pseudo kod: (żebyś sam też pomyślał)

TextField wybranePole = null;

void OnClickPrzyciskow(sender) {
  if (wybranePole != null) {
    Button przycisk = sender;
    wybranePole.setText(przycisk.Tag );
  }
}

void OnClickTextFieldsow(sender) {
  wybranePole = sender;
}

Przerób ten kod (specjalnie nie napisałem tego jaki faktycznie jest, tylko ogólną ideę żebyś się tylko posiłkował a nie przeklepał).
Rzeczy na dziś: zdarzenia, rzutowanie, zmienne lokalne i globalne.
Wszystko do znalezienia na google w 2 sekundy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1