Wczytanie danych z Table do TextField

0

Nie mogę nigdzie znaleźć w dokumentacji jak po kliknięciu na jakiś Button wczytać dane z konkretnej komórki Table do pola TextField. Podpowie ktoś jak to wykonać?

0

Należy podczepić do przycisku listener na kliknięcia (albo lepiej na akcje), w którym pobierzesz wartość z komórki tabeli i wprowadzisz ją do pola...
Zawartość tabeli przechowywana jest w modelu.
Z czym konkretnie masz problem?

0

Chcesz wczytywać dane zawsze z tej samej komórki, czy z komórki wskazanej przez użytkownika? Jeśli to drugie, to lepiej podpiąć MouseListenera do JTable.

0

Powiedzmy , że mam jakiś wiersz w tej tabeli - imię, nazwisko,adres i chcę aby po najechaniu na ten wiersz i kliknięciu buttona te dane pojawiły się w nowym oknie w odpowiednich polach TextField.

0

W takim razie do buttona musisz podpiąć listener, który wczyta Ci dane z tabeli na podstawie zaznaczonego wiersza.

0

Możesz też zamiast buttona reagować po prostu np. na podwójne kliknięcie i w procedurze obsługi sprawdzać, który wiersz jest aktualnie zaznaczony.

0

Mniej więcej tak:

int index = table.getSelectedRow();
if(index  < 0)
{
    //komunikat, ze trzeba coś zaznaczyć
    return;
}
index = table.convertRowIndexToModel(index); //konieczne jeżeli użytkownik może sortować tabelę

Szczegóły pobrania danych zależą od użytego modelu.

0

Też nie dawno z tym walczyłem, i mam coś takiego:

	@Override
	public void mouseClicked(MouseEvent e) 
	{
		if (e.getButton() == MouseEvent.BUTTON1)
		{
			
			int row = table.getSelectedRow();

			TF_ID.setText(model.getAllRows().get(row)[0] + "");
			TF_IMIE.setText(model.getAllRows().get(row)[1] + "");
			TF_NAZWISKO.setText(model.getAllRows().get(row)[2] + "");
			TF_PESEL.setText(model.getAllRows().get(row)[3] + "");
			TF_NARODOWOSC.setText(model.getAllRows().get(row)[4] + "");
			
		}
		
	}

Po kliknięciu w wiersz tabli wartości są wrzucane w TextField

0

Proponuję dodać

if(row>-1)

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