<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    There are some interesting things on this list, and in some of the
    follow-on messages. This reply is just looking at the AWT issue.<br>
    <br>
    It depends on what you mean by "remove AWT". Removing all internal
    dependencies (aside from Swing/JavaFX interop of course) on
    java.desktop (AWT/Swing/Java2D) and providing replacement API for
    the functionality that is missing in JavaFX would be a very large
    effort. At a minimum:<br>
    <br>
    Implementation dependencies:<br>
    * Refactor Java Beans implementation in javafx.base such that
    java.desktop is optional<br>
    * Rewrite implementation of JavaFX printing to use native printing
    capability (this is a large effort)<br>
    * Any other places where the implementation in javafx.graphics uses
    some Java2D utilities (it looks like we might have removed the last
    of these)<br>
    <br>
    New API for missing features to reach parity with java.desktop:<br>
    * Image I/O (this is the largest piece)<br>
    * Image operators<br>
    * Headless support<br>
    * Desktop integration (we want to do this anyway at some point)<br>
    <br>
    If all you need from the list of missing features w.r.t.
    java.desktop is a Tray Icon (part of desktop integration), the
    largest piece would be the printing dependency. If you don't print,
    and can do a custom build of JavaFX to remove it, it might not be
    too bad, but still work.<br>
    <br>
    -- Kevin<br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 11/16/2023 1:08 AM, Dirk Lemmermann
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:3B3CE5B8-B772-444B-961E-34FE43E83C8B@gmail.com">
      
      It is mainly an issue when trying to run a JavaFX app natively
      (GraalVM, Gluon). You can not have AWT in your classpath when
      compiling to native code. It is not supported.
      <div> </div>
      <div>Dirk<br id="lineBreakAtBeginningOfMessage">
        <div><br>
          <blockquote type="cite">
            <div>Am 15.11.2023 um 20:31 schrieb David Alayachew
              <a class="moz-txt-link-rfc2396E" href="mailto:davidalayachew@gmail.com"><davidalayachew@gmail.com></a>:</div>
            <br class="Apple-interchange-newline">
            <div>
              <div dir="ltr">
                <div class="gmail_default" style="font-family:monospace">My
                  bigger question is asking what you lose by having AWT
                  in JavaFX. Is there something fundamentally
                  problematic about it that its removal would
                  solve/alleviate a problem?</div>
                <div class="gmail_default" style="font-family:monospace"><br>
                </div>
                <div class="gmail_default" style="font-family:monospace">Whereas
                  on the other hand, AWT has some very useful libraries
                  that are in use by nearly all Java GUI frameworks. For
                  example, if you want to do anything really complex
                  with 2D Image work, you will inevitably end up using
                  java.awt.BufferedImage. It's simple, but very fast.<br>
                </div>
              </div>
              <br>
              <div class="gmail_quote">
                <div dir="ltr" class="gmail_attr">On Wed, Nov 15, 2023
                  at 12:18 PM Dirk Lemmermann <<a href="mailto:dlemmermann@gmail.com" moz-do-not-send="true" class="moz-txt-link-freetext">dlemmermann@gmail.com</a>>
                  wrote:<br>
                </div>
                <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
                  <div>
                    <div>3D: unfortunately that is completely out of my
                      comfort zone … for this feature request I am
                      merely the messenger.</div>
                    AWT: I was thinking that this is mostly a
                    refactoring and probably code duplication?
                    <div><br>
                    </div>
                    <div>Dirk<br id="m_-1314880096666139834lineBreakAtBeginningOfMessage">
                      <div><br>
                        <blockquote type="cite">
                          <div>Am 15.11.2023 um 14:28 schrieb Nir Lisker
                            <<a href="mailto:nlisker@gmail.com" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">nlisker@gmail.com</a>>:</div>
                          <br>
                          <div>
                            <div dir="ltr">
                              <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">3D
                                line and point primitives<br>
                              </blockquote>
                              <div><br>
                              </div>
                              <div>I filed <a href="https://bugs.openjdk.org/browse/JDK-8316398" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">https://bugs.openjdk.org/browse/JDK-8316398</a>
                                for this already. As noted, it requires
                                a somewhat complex computation for
                                intersections and possibly for contains.
                                If you would like to write these Mesh
                                classes, like the current TriangleMesh,
                                I can write the rest.</div>
                              <div><br>
                              </div>
                              <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">removal
                                of AWT<br>
                              </blockquote>
                              <div><br>
                              </div>
                              <div>Isn't that *a lot* of work? All the
                                image IO is AWT, no? </div>
                            </div>
                            <br>
                            <div class="gmail_quote">
                              <div dir="ltr" class="gmail_attr">On Wed,
                                Nov 15, 2023 at 10:48 AM Dirk Lemmermann
                                <<a href="mailto:dlemmermann@gmail.com" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">dlemmermann@gmail.com</a>>
                                wrote:<br>
                              </div>
                              <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi
                                guys,<br>
                                <br>
                                I already mentioned this at the JavaFX
                                BOF at DEVOXX and also posted this on
                                Twitter but wanna make sure it gets the
                                visibility it deserves:<br>
                                <br>
                                All I want for Christmas is … / what I
                                think is needed for JavaFX going forward
                                ...<br>
                                <br>
                                        - removal of AWT <br>
                                        - a tray API (tray icon) <br>
                                        - undecorated interactive stage
                                style <br>
                                        - blur support for stages <br>
                                        - WebP image format support <br>
                                        - native embedded browser
                                (Chromium) <br>
                                        - 3D line and point primitives <br>
                                        - injection support in FXML for
                                custom controls <br>
                                        - TableView improvements, aka.
                                TableView2<br>
                                <br>
                                (order of items does not imply priority)<br>
                                <br>
                                Dirk<br>
                                <br>
                              </blockquote>
                            </div>
                          </div>
                        </blockquote>
                      </div>
                      <br>
                    </div>
                  </div>
                </blockquote>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
  </body>
</html>