Java Buttons Farbe ändern

  • Hallo,

    vielleicht kann mir jemand von euch helfen. Ich möchte über einen Button ein putty-Programm Starten. Das funktioniert auch. Dazu möchte ich aber, das sich nach dem Mausklick auf den Button die Farbe des Button ändert. Wenn ich die Putty session wieder zumache, dann soll die Farbe wieder verschwinden. Mein Skript habe ich beigelegt. Was muß ich tun damit das funktioniert ?

    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import java.util.*;
    import java.lang.Runtime.*;

    public class testbutton
    extends Frame
    implements ActionListener
    {
    public static void main(String[] args)
    {
    testbutton wnd = new testbutton();
    wnd.setSize(100,600);
    wnd.setVisible(true);
    }

    public testbutton()
    {
    super("Rechnerliste");
    setBackground(Color.lightGray);
    setLayout(new FlowLayout());
    Button b1 = new Button("sl00599");
    b1.addActionListener(this);
    add(b1);
    addWindowListener(new WindowClosingAdapter(true));

    }
    public void actionPerformed(ActionEvent event)
    {
    String cmd = event.getActionCommand();
    if (cmd.equals("sl00599")) {
    try
    {
    b1.setBackground(Color.green);
    Runtime.getRuntime().exec("c:\\programme\\putty\\putty.exe -load sl00599 ");
    }
    catch (Exception w) {System.err.println(w.toString());}
    }

    }
    }

  • also ich bin jetzt nicht der java pro aber hier mal ne kleine bastlei

    gib mal laut wenn du herrausgefunden hast wie man ein eventlistner auf das geöffnete fenster gelegt hat.

  • Also ,dass kommt schon nah dran, aber wenn ich den Putty wieder schliesse geht die Farbe leider nicht wieder zurück. Hast du noch eine Idee

  • Salut,

    schau mal, ob die waitFor Methode

    http://java.sun.com/j2se/1.5.0/doc…ss.html#waitFor()

    im konkreten Fall implementiert ist, sprich:

    Code
    try
       {
        Process p = Runtime.getRuntime().exec("E:\\PuTTY\\putty_.exe -load Pluto13");
        p.waitFor();
        // button farbe hier ändern
       } catch (Exception w) {
        System.err.println(w.toString());
       }


    Bin auch kein Java-Crack, das kommt noch. Momentan bin ich eher auf der C#-Schiene...


    Stefan

  • aber wodrann ich verzweifel, ist das ganze mit einer mehrdimensionalen array, wo man die buttons und ihre commandos drinn definiert.