tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
13
ZUGRIFFE
365
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    hesk hesk ist offline Mitglied Gold
    Registriert seit
    Oct 2007
    Beiträge
    192
    Hallo!

    Nur eine kurze Frage. Wenn ich ein SingleFrameApplication habe und die resourceMap verwende, dann gibt es ja ein properties-File wo alles drin steht.

    zb open.Action.text = &Open...

    Was bedeutet hier das & ?

    Danke!
     

  2. #2
    SE Tutorials.de Gastzugang
    Das ist ein sog. Operator als Kennzeichnung das OPEN ein Befehl ist und nicht ein Parameter.
     

  3. #3
    hesk hesk ist offline Mitglied Gold
    Registriert seit
    Oct 2007
    Beiträge
    192
    Kannst du es vielleicht ein wenig genauer erklären?

    Mit open.Action.text = Open... funktioniert es genauso.
     

  4. #4
    hesk hesk ist offline Mitglied Gold
    Registriert seit
    Oct 2007
    Beiträge
    192
    Ich hätte hierzu noch eine andere Frage.

    Ich definiere mit .setAction für einen Button eine Action.

    Die Funktion sieht so aus :

    Code :
    1
    2
    3
    
    @Action
        public void rollout() throws Exception
        {

    Wenn jetzt aber in dieser Funktion eine Exception geworfen wird, dann wird sie nicht weiter geworfen.
    Wie kann man das Exception-Handling mit den Actions machen?
     

  5. #5
    SE Tutorials.de Gastzugang
    Nun , wenn da throws Exception steht wird alles was Exception oder Sub-Class ist weitergeworfen. Die Frage ist eher : wo du es versuchst abzufangen ? Wenn , wie du gesagt hast , die Methode durch Klick auf einen Button aufgerufen wird , so bedeutet dass das die Methode vom EDT aufgerufen wird und an diesen natürlich die Exceptions geworfen werden.
    Stichwort : java.lang.Thread.UncaughtExceptionHandler
     

  6. #6
    hesk hesk ist offline Mitglied Gold
    Registriert seit
    Oct 2007
    Beiträge
    192
    Hier wie es implementiert ist:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    try
            {
                JButton rolloutButton = new JButton();
                rolloutButton.setAction( actionMap.get("rollout") );
            }
            catch (Exception e)
            {
                System.out.println("Exception bei Button");
            }

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    @Action
        public void rollout() throws Exception
        {
            JFrame mainFrame = Application.getInstance(at.gv.brz.findok_Helper.main.FindokHelperMain.class).getMainFrame();
            
            CopyDialog copyDialog = new CopyDialog( mainFrame );
            copyDialog.pack();
            copyDialog.setLocationRelativeTo( mainFrame );
            ScpTo scpTo = new ScpTo( copyDialog );
            scpTo.addPropertyChangeListener( copyDialog );
            scpTo.execute();
        }

    Im Konstruktor von CopyDialog wird eine Exception geworfen.
    In der Action kann ich sie mit einem try-cath-Block abfangen. Aber sie wird nicht weiter geworfen dort wo der Button augerufen wurde. Wieso nicht?

    Wenn an die EDT die Exception geworfen wird, wo fängt man sie ab?
     

  7. #7
    SE Tutorials.de Gastzugang
    So wie du das gepostet hast wirst du im try-catch in dem du setAction() aufrufst NIE die Exception zugesicht bekommen da wie gesagt die Action selbst erst vom EDT ausgelöst wird. Mit setAction() sagst du Java lediglich was dann beim Klick schlussendlich gemacht werden soll , aber der Methoden-Aufruf selbst wird dadurch nicht gemacht.

    Wie man mit Hilfe des Thread.UncoughtExceptionHandler Exceptions aus dem EDT abfängt steht hier im Forum irgendwo ... nutze also bitte die SuFu mit diesem Stichwort.
     

  8. #8
    genodeftest genodeftest ist offline Mitglied Brillant
    Registriert seit
    Jun 2009
    Beiträge
    870
    Zitat Zitat von SPiKEe Beitrag anzeigen
    Wie man mit Hilfe des Thread.UncoughtExceptionHandler Exceptions aus dem EDT abfängt steht hier im Forum irgendwo ... nutze also bitte die SuFu mit diesem Stichwort.
    Thread.setDefaultUncaughtExceptionHandler()
    und
    Thread.setUncaughtExceptionHandler()
    als Parameter jeweils eine Klasse, die java.lang.Thread.UncaughtExceptionHandler implementiert
     
    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

  9. #9
    SE Tutorials.de Gastzugang
    Also wenn du schon sowas halbfertiges Postest dann kannst du ja auch noch posten wie man an den EDT als Objekt kommt.
    Außerdem hättest du dir die letzte Zeile sparen können wenn du es konventionsgemäß so geschrieben hättest :
    Thread.setDefaultUncaughtExceptionHandler(Thread.UncaughtExceptionHandler);
    Thread.setUncaughtExceptionHandler(Thread.UncaughtExceptionHandler);
     

  10. #10
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo,

    ich denke mit ... = &Open kennzeichnest du das O von Open als mnemonic Zeichen. Dieses Zeichen das wird dann je nach OS / Window System speziell (oft unterstrichen) dargestellt.

    Siehe auch hier: http://www.google.de/url?sa=t&source...82SAwL4ZmQzMuw

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  11. #11
    genodeftest genodeftest ist offline Mitglied Brillant
    Registriert seit
    Jun 2009
    Beiträge
    870
    ... und dient dann zur Ansteuerung mit ALT+Taste, z.B. ALT+D bei vielen Programmen, um ins Hauptmenü, Menü "Datei" zu kommen
     
    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

  12. #12
    hesk hesk ist offline Mitglied Gold
    Registriert seit
    Oct 2007
    Beiträge
    192
    Vielen Dank!
    Hat mir alles sehr geholfen

    Das mit den Exceptions hab ich jetzt so gelöste, dass ich keine Zentrale Stelle gemacht habe wo ich alles hinleite, sondern jede Exception extra behandle.
    Es passiert zwar fast immer das gleiche(Ausgabe der Exceptions in einem Dialog), aber der Überblick ist besser.
     

  13. #13
    hesk hesk ist offline Mitglied Gold
    Registriert seit
    Oct 2007
    Beiträge
    192
    Ich hätte noch eine Frage:

    Wie greift man außerhalb seines FrameView-Klasse auf die ResourceMap bzw ActionMap zu?

    So mache ich es momentan: ( TestingLaunch ist die SimpleFrameApplication-Klasse )
    WarningDialog ist die Klasse wo ich auf die ResourceMap zugreifen möchte.

    Code :
    1
    
    resourceMap = Application.getInstance(at.gv.brz.findok_Helper.main.TestingLaunch.class).getContext().getResourceMap( WarningDialog.class);

    Gibt es da nichts besseres?
     

  14. #14
    hesk hesk ist offline Mitglied Gold
    Registriert seit
    Oct 2007
    Beiträge
    192
    1 min später hab ich es selber gefunden

    Code :
    1
    
    ResourceMap resourceMap = Application.getInstance().getContext().getResourceMap( getClass() );
     

Ähnliche Themen

  1. WinApi Resources
    Von WinApiQuestion im Forum C/C++
    Antworten: 5
    Letzter Beitrag: 12.02.10, 15:03
  2. C# wav datei als resources
    Von Blondie3 im Forum .NET Windows Forms
    Antworten: 1
    Letzter Beitrag: 15.11.08, 21:59
  3. javax.swing.plaf.FontUIResource: Woher lädt Swing den Font
    Von Deficiency im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 0
    Letzter Beitrag: 17.01.08, 08:38
  4. Resources auf Festplatte speichern
    Von Julian-w im Forum .NET Datenverwaltung
    Antworten: 3
    Letzter Beitrag: 21.08.07, 19:47