Obrazek przy najechaniu na wiersz w tabeli

0

Witam, dopiero zaczynam swoja przygode z Java i mam pewien problem. Mam tabele w ktorej przechowuje dane o roznych produktach, chcialbym aby po najechaniu na ktorys z tych wierszy wyswietlalo mi sie male okienko zawierajace jpg, prosze o pomoc. pozdrawiam

0

Może wyświetlaj to na oknie typu JWindow, ponieważ ono nie posiada obramowania. W dokumentacji poszukaj zdarzeń jakie generuje JTable i podczep pod odpowiednie słuchacza, który będzie wyświetlał/chował ramkę i zmieniał obrazek.

0

Prosciej bedzie uzyc:

Component.setToolTip("<html><img src=\"file:myfile.jpg\">");
0

do tabelki table dodalem sluchacza table.addMouseListener(new MyMouseAdapter() ); i reszte zrobilem za pomoca klasy wewnetrznej

 public class MyMouseAdapter extends MouseAdapter implements MouseListener{
		
		public void mouseEntered(MouseEvent e) {
					
					Point p = e.getPoint();
					int row = table.rowAtPoint(p);
					String wartosc = table.getValueAt(row, 1).toString();
					if (wartosc.equals("CARROTS")) {
						JLabel window = new JLabel();
						window.setVisible(true);
						
					}
				}

		}

Jego zadaniem jest odczytywac na podstawie pierwszej kolumny gdyz tam zawarte sa kluczowe wartosci. Okienko tylko zeby zobaczyc czy sie pojawia, jak na razie bez zdjecia (niestety nic sie nie pojawia). W czym tkwi blad ?

0
     JLabel window = new JLabel();
     window.setVisible(true);
  1. JLabel trzeba gdzieś umieścić,
  2. jak byś wzrokowo rozpoznał że gdzieś się pojawiła "pusta" etykieta ?
    pozdrawiam
0

nie wiem jak wyswietlic to okno ;/ chcialem ze pomoca getContentPane().add(window, BorderLayout.NORTH); ale tez nie dziala

0
  1. Tworzysz obiekt klasy JWindow.
  2. Dodajesz do niego JLabel.
  3. Ikonę JLabel'a ustawiasz na obrazek.
  4. JWindow wyświetlasz za pomocą setVisible;

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