webForumDet fria alternativet

Dynamiska JButton

4 svar · 213 visningar · startad av skarbratt

skarbrattMedlem sedan juli 2000344 inlägg
#1

Jag har en array/vector med data som ändras kontinueligt. Jag vill dock med hjälp av den datan skapa X anta JButton. Går detta? För vad jag har fattat så måste man ju deklarera JButtons innan man man anvqnda det, tex

JButton knapp1 = new JButton();
JButton knapp2 = new JButton();
JButton knapp3 = new JButton();

osv, man jag vill skapa den dynamiskt finns det något sätt att lösa det på?

SPiNMedlem sedan mars 20005 832 inlägg
#2

Hm, du kan ju alltid återanvända samma JButton.

Ex:

public class DinKlass {
     public static void main ( String[] args ) {
          JButton button;
          JPanel panel = new JPanel ();

          Vector vector = new Vector ();
          // Lägg till dina element

          for ( int i = 0; i < vector.size (); i++ ) {
               button = new JButton ( ( String ) vector.elementAt ( i ) );
               button.addActionListener ( new ActionListener () {
                    public void actionPerformed ( ActionEvent e ) {
                         // Vad händer när man klickar på knappen?
                    }
               } );

               panel.add ( button );
          }
     }
}
skarbrattMedlem sedan juli 2000344 inlägg
#3

Tack...

skarbrattMedlem sedan juli 2000344 inlägg
#4

Hur gör jag för att skriva ut texten på JButten

// Vad händer när man klickar på knappen?
Tex : System.out.println(e.textenSomFinnsIJButton())
Jag testade:

Object source = event.getSource();
System.out.println(source.toString());

Men då kommer en jävla massa gojs ut.

spangoMedlem sedan juni 20006 147 inlägg
#5
Object src = event.getSource();
if (src instanceof JButton)
    doit( ((JButton) src).getText() );
Genererad på 376 ms · cache AV · v20260730165559-full.f96bc7eb