java - aktywna tabela

0

Jak skonstruować słuchacza który będzie wiedział która tabela jest aktywna (widok jak na w załączniku).
Aktywna tabela to ta na którą ostatnio kliknąłem(w dowolne miejsce).

A może jest jakaś gotowa funkcja do tego (nie udało mi się znaleźć w dokumentacji)

0

FocusListener?

0

Dziękuje za odpowiedź

Mam jeszcze jedno pytanie
Tworzę 2 tabele:

tabela-1 = new javax.swing.JTable();
tabela-2 = new javax.swing.JTable();

Tworzę modele itd:

  tabela-1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
            },
            new String [] {
                "1", "2", "3", "4"
            }

I tutaj przechodzę do fokusa

 FocusListener listener = new FocusListener() {
      public void focusGained(FocusEvent event) {
          System.out.println(event.paramString () );
}
qwe.addFocusListener(listener);
zxc.addFocusListener(listener);

I tutaj moje pytanie.
Fokus działa i się przełącza ale skąd wiedzieć w którą tabelę kliknąłem? Jak pobrać jej nazwę w metodzie focusGained?
Proszę tylko o naprowadzenie, nazwę metody.

0

event.getSource()

0

Sprawdziłem już to wcześniej i po wgłębieniu nie widzę tutaj nigdzie nazwy ani czegoś charakterystycznego
Focus na tabeli1
run:
javax.swing.JTable[,0,0,192x64,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.synth.SynthBorder@56165397,
flags=251658568,maximumSize=,minimumSize=,
preferredSize=,autoCreateColumnsFromModel=true,autoResizeMode=AUTO_RESIZE_SUBSEQUENT_COLUMNS,
cellSelectionEnabled=false,editingColumn=-1,editingRow=-1,gridColor=javax.swing.plaf.ColorUIResource[r=35,g=35,b=36],
preferredViewportSize=java.awt.Dimension[width=450,height=400],rowHeight=16,rowMargin=0,rowSelectionAllowed=true,
selectionBackground=DerivedColor(color=57,
105,138 parent=nimbusSelectionBackground offsets=0.0,0.0,0.0,0 pColor=57,105,138,selectionForeground=DerivedColor
(color=255,255,255 parent=nimbusLightBackground offsets=0.0,0.0,0.0,0 pColor=255,255,255,showHorizontalLines=false,showVerticalLines=false]

Focus na tabeli2
javax.swing.JTable[,0,0,227x64,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.synth.SynthBorder@10bcc65b,
flags=251658568,maximumSize=,minimumSize=,
preferredSize=,autoCreateColumnsFromModel=true,autoResizeMode=AUTO_RESIZE_SUBSEQUENT_COLUMNS,
cellSelectionEnabled=false,editingColumn=-1,editingRow=-1,gridColor=javax.swing.plaf.ColorUIResource[r=35,g=35,b=36],
preferredViewportSize=java.awt.Dimension[width=450,height=400],rowHeight=16,rowMargin=0,rowSelectionAllowed=true,
selectionBackground=DerivedColor(color=57,
105,138 parent=nimbusSelectionBackground offsets=0.0,0.0,0.0,0 pColor=57,105,138,selectionForeground=DerivedColor
(color=255,255,255 parent=nimbusLightBackground offsets=0.0,0.0,0.0,0 pColor=255,255,255,showHorizontalLines=false,showVerticalLines=false]

0

Niech Twoje tabele będę polami w klasie, np.

  private JTable tabela_1;

Porównujesz tak:

if((JTable) event.getSource() == tabela_1)
0

Dziękuje za pomoc

Teraz wszystko jest ok. Mam nadzieje że nie napotkam na więcej problemów.

P.s Przepraszam za rozjechanie forum.

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