JavaFX Etwas Tabellenartiges + Cell-Content-Changed-Event (o.ä.)

Diskutiere Etwas Tabellenartiges + Cell-Content-Changed-Event (o.ä.) im AWT, Swing, JavaFX & SWT Forum; Ja an die Sache mit dem Label erinnere ich mich und auch die "Würg-arounds" (schönes Wort btw ;) ). Du hast schon Recht .. in vielen Aspekten...

  1. Robat
    Robat Bekanntes Mitglied
    Ja an die Sache mit dem Label erinnere ich mich und auch die "Würg-arounds" (schönes Wort btw ;) ). Du hast schon Recht .. in vielen Aspekten scheint der Aufwand sehr groß zu sein aber ich muss sagen, dass man auch vieles verallgemeinern kann und sich den Aufwand nur einmal antun muss. Das ganze ist natürlich nur sinnvoll, wenn man öfter mit JavaFX zu tun hat. Für ein kleines Projekt ist es ggf. zu viel.

    Zu viel Zeit würde ich mal sagen :D
     
  2. mihe7
    mihe7 Bekanntes Mitglied
    Ja. Swing ist das genaue Gegenteil davon. Da hast Du von Haus aus etwas mehr Arbeit, weil alles darauf ausgelegt ist, erweitert/angepasst zu werden. Dafür kannst Du aber auch alles erweitern/anpassen und - was die Funktionalität betrifft - meist mit relativ wenig Aufwand.

    Swing hat viele Mankos, das ist gar keine Frage. Das Framework ist uralt. Eine Swing-Anwendung optisch ansprechend zu gestalten, ist sehr viel aufwändiger als eine JavaFX-Anwendung, auch weil man nicht einfach per CSS ein paar Styles setzen kann. Die grafischen Möglichkeiten bzgl. Animationen/Multimedia sind sehr beschränkt und die Web-Unterstützung ist nur sehr rudimentär vorhanden. Kurz: es ist halt einfach alt.

    In JavaFX sind die Komponenten dagegen so stark gekapselt, dass dieser Teil für mich nichts mehr mit einem Framework zu tun hat. Das ist eher eine Komponentenbibliothek, die nach dem Motto "friss oder stirb" zu verwenden ist.

    Bestes Beispiel: https://www.java-forum.org/thema/alternativtext.182407/ Das ist doch ein Witz.
     
    White_Fox gefällt das.
  3. Robat
    Robat Bekanntes Mitglied
    White_Fox und mihe7 gefällt das.
  4. mihe7
    mihe7 Bekanntes Mitglied
    Fast:
    Code (Java):

        class Foo {
            private BigDecimal foo;
            // getter/setter
        }
     
    Ich meinte schon, dass man den Wert im Textfeld auch bearbeiten kann :) (bei mir ist das Feld read-only und wird beim Klick auf den Button gesetzt).
     
  5. mihe7
    mihe7 Bekanntes Mitglied
  6. Robat
    Robat Bekanntes Mitglied
    Ah also bidirektional? Dann das Binding ggf so anpassen (oder nach deinen Wünschen :p ):
    Code (Java):

    textField.textProperty().bindBidirectional(foo.fooProperty(), new StringConverter<>() {
        @Override
        public String toString(BigDecimal object) {
            return new DecimalFormat("#0.##").format(object);
        }

        @Override
        public BigDecimal fromString(String string) {
            return new BigDecimal(string.replaceAll(",", "."));
        }
    });
     
     
    mihe7 gefällt das.
  7. White_Fox
    White_Fox Mitglied
    Ich hab die GUI von meinem Programm ja mit Swing angefangen. Ja, ist alt, aber die GUI von Netbeans z.B. ist meines Wissens nach auch in Swing gemacht, und ich finde das durchaus noch brauchbar.

    Auf JavaFX bin ich umgestiegen, weil Tabellen so umständlich anzupassen (konkret: Zellverbünde) sind. Jedenfalls scheine ich nicht der Erste zu sein der sowas haben wollte und dann mit JavaFX anstatt Swing weitergemacht hat.
     
  8. Robat
    Robat Bekanntes Mitglied
    So würde das ja auch keiner machen :p
    Code (Java):

    UnaryOperator<TextFormatter.Change> filter = change -> change.getControlNewText().matches("\\d{0,7}([.]\\d{0,4})?") && !change.getControlNewText().isEmpty() ? change : null;
    textField.setTextFormatter(new TextFormatter<>(new NumberStringConverter(), 0, filter));
     
    Zuletzt bearbeitet: 11. Feb. 2019
  9. mihe7
    mihe7 Bekanntes Mitglied
    Danke. Da sieht man es mal wieder: eine Methode und eine Interface hätten in der API gereicht :p

    Ach so, deswegen nimmst Du jetzt auch nicht die TableView her :D

    Nein, ist im Prinzip schon richtig: ob es mir nun gefällt oder nicht, Swing ist tot.
     
    White_Fox gefällt das.
  10. mihe7
    mihe7 Bekanntes Mitglied
    Eigentlich müsste man ja nachfragen, wie man seinen Ansatz jetzt auf Buttons umsetzt, also einen Button-Click rückgängig macht...
     
  11. Wenn du Java lernen möchtest, empfehlen wir dir diesen Kurs hier
Passende Stellenanzeigen aus deiner Region:





Die Seite wird geladen...

Etwas Tabellenartiges + Cell-Content-Changed-Event (o.ä.) - Ähnliche Themen

Durch eine Text eingabe etwas Ausführen
Durch eine Text eingabe etwas Ausführen im Forum Java Basics - Anfänger-Themen
Ich habe das Gefühl etwas grundlegendes falsch zu machen
Ich habe das Gefühl etwas grundlegendes falsch zu machen im Forum Java Basics - Anfänger-Themen
Probleme beim Kompelieren mache ich etwas falsch ?
Probleme beim Kompelieren mache ich etwas falsch ? im Forum Java Basics - Anfänger-Themen
(Eclipse) Beim importieren etwas fehlerhaft bitte um Hilfe :)
(Eclipse) Beim importieren etwas fehlerhaft bitte um Hilfe :) im Forum Java Basics - Anfänger-Themen
Textfeld abfragen ob etwas enthalten ist.
Textfeld abfragen ob etwas enthalten ist. im Forum Java Basics - Anfänger-Themen
Thema: Etwas Tabellenartiges + Cell-Content-Changed-Event (o.ä.)