🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.java
Article #153082

Jak z okna dostać się do przycisku, który je wywołał ??

#153082
From: 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
Technical Details
Message-ID: <j8c786$osu$1@news.onet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mail
From: Andrzej <linuks@poczta.onet.pl>
Newsgroups: pl.comp.lang.java
Subject: Jak z okna dostać się do przycisku,
 który je wywołał ??
Date: Thu, 27 Oct 2011 20:17:45 +0200
Organization: http://onet.pl
Lines: 61
Message-ID: <j8c786$osu$1@news.onet.pl>
NNTP-Posting-Host: 85-31-243-246.internetia.net.pl
Mime-Version: 1.0
X-Trace: news.onet.pl 1319739462 25502 85.31.243.246 (27 Oct 2011 18:17:42 GMT)
X-Complaints-To: niusy@onet.pl
NNTP-Posting-Date: Thu, 27 Oct 2011 18:17:42 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20110929 Thunderbird/7.0.1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit