tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
419
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Jul 2002
    Ort
    Frankfurt (Hessen)
    Beiträge
    2.135
    Also ich habe im Moment massive Verständnisprobleme was Swing betrifft
    ich arbeite mit NetBeans und habe nebenbei das Buch "Java ist auch eine Insel" offen

    und die drei sachen bekomme ich im Moment nicht auf einen Nenner - mein Hirn, die IDE und das Buch

    im Buch ist die Rede von "ActionEvent, die ein angehängter ActionListener meldet"
    und in der IDE habe ich unter Eigenschaften Events und die einzige sinnvolle Sache die ich da gefunden habe ist ActionPerformed
    das erzeugt mit die Einträge:

    Code java:
    1
    2
    3
    4
    5
    6
    7
    
    private void jComboMidiActionPerformed(java.awt.event.ActionEvent evt) {                                           
            // TODO add your handling code here: Midi Devices anzeigen
    }                                          
     
    private void jButtonMidiPortActionPerformed(java.awt.event.ActionEvent evt) {
            // TODO add your handling code here: update Midi Devicelist in jComboMidi
    }

    sind das schon die Listener - sprich lande ich in den Functionen wenn ich den Button oder die Auswahlliste anklicke ?

    und bei der Combo steht im Buch "getSelectedIndex() Liefert den Index des aktuell selektierten Eintrags."
    so erhalte ich also den ausgewählten Eintrag - vermute ich mal ne 3 beim 4. eintrag da ja bei Java Arrays bei 0 anfangen

    ich will das bei dem Button die Comboliste neu aufgebaut wird.
    da denke ich arbeite ich mit removeItem() bis alle alten einträge weg sind und baue mit addItem( s ); einen neue liste auf
    Denkansatz richtig ?
     

  2. #2
    genodeftest genodeftest ist offline Mitglied Brillant
    Registriert seit
    Jun 2009
    Beiträge
    870
    Das sind die Listener. ABER:
    - sie dürfen nicht private sein, da von extern darauf zugegriffen wird
    - sie müssen so heißen, wie vom jeweiligen Interface des Listeners vorgegeben ist. beim Interface ActionListener heißt die Methode
    Code java:
    1
    
    public void actionPerformed(ActionEvent e)
    Üblicherweise löst man das über sogenannte anonyme Klassen:
    Code java:
    1
    2
    3
    4
    5
    
     jButtonMidiPort.addActionListener( new ActionListener() {
        public void actionPerformed( ActionEvent e ) {
          // hier kommt das rein, was du beim Klick ausführen möchtest
        }
      });

    // EDIT:
    es gibt noch eine andere Möglichkeit:
    Du implementierst das Interface ActionListener in einer (beliebigen) Klasse und übergibst eine Instanz dieser Klasse an die Methode
    Code java:
    1
    
    addActionListener();
     
    Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
    Code java:
    1
    
    System.out.println("Hallo");
    hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.
    ___________
    Ubuntu Bug #1: Microsoft has a majority market share
    Casecon: Projekt leiser Käse

  3. #3
    Registriert seit
    Jul 2002
    Ort
    Frankfurt (Hessen)
    Beiträge
    2.135
    Dat die privat sind ist nicht auf meinem Mist gewachsen - hat wie gesagt die NetBeans IDE so erstellt

    ich bin auch schon ein stückchen weiter

    ich müsste nu nur das Programm dazu bringen beim starten so zu tun als währe der jButton gedrückt worden

    so steht erstmal beim Start in der Combobox "Item 1" drin - nach dem Button stehts so wie ich es haben will

    achja wie bekomme ich es geregelt das ein popup fenster im Fehlerfall angezeigt wird ?
    ich hätte da ein paar exeptions die ausgegeben werden sollten ... wenn se denn auftreten
    Geändert von melmager (08.10.11 um 17:15 Uhr)
     

  4. #4
    genodeftest genodeftest ist offline Mitglied Brillant
    Registriert seit
    Jun 2009
    Beiträge
    870
    Du kannst für jeden Thread und jede ThreadGruppe einen UncaughtExceptionHandler setzten:
    Code java:
    1
    
    Thread.setUncaughtExceptionHandler(UncaughtExceptionHandler e);
    außerdem try-catch-Blöcke benutzen.
    Exceptions graphisch ausgeben funktioniert sehr einfach mit JOptionPane.showXXXMessage();

    Zu dem mit private: Ja, Netbeans leitet die Events um.
     
    Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
    Code java:
    1
    
    System.out.println("Hallo");
    hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.
    ___________
    Ubuntu Bug #1: Microsoft has a majority market share
    Casecon: Projekt leiser Käse

  5. #5
    Avatar von j2se
    j2se j2se ist offline Mitglied Silber
    Registriert seit
    Oct 2011
    Beiträge
    94
    Blog-Einträge
    1
    Zitat Zitat von genodeftest Beitrag anzeigen
    - sie dürfen nicht private sein, da von extern darauf zugegriffen wird
    Zudem darf die überschreibende Methode im Zugriff nicht restriktiver sein als die vererbende Methode. Mit private lässt sich die Klasse schon gar nicht kompilieren, egal ob von aussen zugegriffen wird oder nicht.
     

Ähnliche Themen

  1. Key Listener/Action Listener
    Von Saufrang im Forum Java Grundlagen
    Antworten: 2
    Letzter Beitrag: 06.01.10, 18:25
  2. Ein Action Objekt für einen JButton, jedoch ohne Action-Text?
    Von DarthShader im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 8
    Letzter Beitrag: 12.07.08, 10:16
  3. action script2 vs action script1
    Von John86 im Forum Flash Plattform
    Antworten: 1
    Letzter Beitrag: 26.06.07, 14:39
  4. Problem miit: action='index.php?action=weiter
    Von NetPerformance im Forum PHP
    Antworten: 8
    Letzter Beitrag: 20.10.05, 13:53
  5. Struts Action auf andere Action umleiten und Parameter übergeben
    Von mungoparks im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 2
    Letzter Beitrag: 28.01.05, 18:28