🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.java
1 messages
1 total messages Started by Andrzej Thu, 27 Oct 2011 18:17
Jak z okna dostać się do przycisku, który je wywołał ??
#153082
Author: Andrzej
Date: Thu, 27 Oct 2011 18:17
61 lines
3311 bytes
Witam.
  Proszę o pomoc w następującej sprawie. W części głównej programu mam 
metodę, która czyta plik i tworzy listę przycisków dziedziczących po 
JButton z dodanymi przeze mnie dodatkowymi zmiennymi. Wiersz przeczytany 
z pliku jest etykietą przycisku. Dla każdego przycisku jest metoda 
obsługi zdarzenia, która powoduje utworzenie i wyświetlenie okna. Moje 
pytanie: jak z poziomu okna dostać się do zmiennych przycisku, który je 
wywołał ??
  Poniżej kod metody:

private void MakeButtonsFriends(String sfriends){

         int x,y;
         int i = 0;
         String fname;

         FriendsList = new ArrayList<CoNiOPrvButton>();
         StringTokenizer st = new StringTokenizer(sfriends, "|");
         int width = jPanelButton1.getWidth();
         x = jPanelButton1.getX();
         y = jPanelButton1.getY();
         while(st.hasMoreTokens()){
             fname = st.nextToken();
             FriendsList.add(new CoNiOPrvButton(fname));
             FriendsList.get(i).setBounds(x, y + i * 30, width, 30);
             FriendsList.get(i).Name = fname;
             FriendsList.get(i).addActionListener(new 
java.awt.event.ActionListener() {
                 @Override
             public void actionPerformed(java.awt.event.ActionEvent evt) {

                     int j = -1;
                     for(int k = 0; k < FriendsList.size(); k++){
 
if(FriendsList.get(k).Name.equals(evt.getActionCommand())){
                             j = k;
                         }
                     }
                     if(!FriendsList.get(j).Private.isDispleyed){
                         FriendsList.get(j).Private = new 
CoNiOPrivate("Rozmowa prywatna z: [" + evt.getActionCommand() + "]");
                         FriendsList.get(j).Private.setVisible(true);
                         FriendsList.get(j).isDisplayed = true;
                         FriendsList.get(j).Private.isDispleyed = true;
                         } else {
                                 CoNiOInfo info = new 
CoNiOInfo(FriendsList.get(j).Private, true, "Okno rozmowy z " + 
evt.getActionCommand()
                                         + " jest już otwarte.");
                                 info.setVisible(true);
                     }
             }
         });
             jPanelButton1.add(FriendsList.get(i));
             i++;
         }

     }

Będę wdzięczny za każdą pomoc.
  Pozdrawiam Andrzej
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads