Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #38542 > unrolled thread

What are the common GUI libraries?

Started by"Michael_xyz@gmail.com" <ashos.owner@gmail.com>
First post2018-08-08 14:48 -0700
Last post2018-08-09 13:45 -0400
Articles 9 — 5 participants

Back to article view | Back to comp.lang.java.programmer


Contents

  What are the common GUI libraries? "Michael_xyz@gmail.com" <ashos.owner@gmail.com> - 2018-08-08 14:48 -0700
    Re: What are the common GUI libraries? Eric Sosman <esosman@comcast-dot-net.invalid> - 2018-08-08 18:04 -0400
      Re: What are the common GUI libraries? "Michaelxyz@gmail.com" <ashos.owner@gmail.com> - 2018-08-08 18:03 -0700
    Re: What are the common GUI libraries? Arne Vajhøj <arne@vajhoej.dk> - 2018-08-08 21:10 -0400
      Re: What are the common GUI libraries? Arne Vajhøj <arne@vajhoej.dk> - 2018-08-09 12:26 -0400
    Re: What are the common GUI libraries? Eric Douglas <e.d.programmer@gmail.com> - 2018-08-09 05:08 -0700
      Re: What are the common GUI libraries? Arne Vajhøj <arne@vajhoej.dk> - 2018-08-09 12:25 -0400
        Re: What are the common GUI libraries? Eric Douglas <e.d.programmer@gmail.com> - 2018-08-09 10:30 -0700
          Re: What are the common GUI libraries? Arne Vajhøj <arne@vajhoej.dk> - 2018-08-09 13:45 -0400

#38542 — What are the common GUI libraries?

From"Michael_xyz@gmail.com" <ashos.owner@gmail.com>
Date2018-08-08 14:48 -0700
SubjectWhat are the common GUI libraries?
Message-ID<7bbac63c-7bbd-4688-b411-d0a304cc5912@googlegroups.com>
A few years ago I was challenged to develop a complicated GUI with widgets such as buttons, interactive tables, checkboxes, input boxes, etc. 

What are the most widely used libraries to do these things? Are there any good tutorials, YouTube videos, or books on these subjects.

Thank you,
Mike

[toc] | [next] | [standalone]


#38544

FromEric Sosman <esosman@comcast-dot-net.invalid>
Date2018-08-08 18:04 -0400
Message-ID<pkfpdg$o2s$1@dont-email.me>
In reply to#38542
On 8/8/2018 5:48 PM, Michael_xyz@gmail.com wrote:
> A few years ago I was challenged to develop a complicated GUI with widgets such as buttons, interactive tables, checkboxes, input boxes, etc.
> 
> What are the most widely used libraries to do these things? Are there any good tutorials, YouTube videos, or books on these subjects.

     The basic GUI kit is javax.swing, and a sleeker one (that seems
never to have caught on, IMHO) is JavaFX.  Tutorials exist:

	https://docs.oracle.com/javase/tutorial/uiswing/index.html
	https://docs.oracle.com/javafx/index.html

     Some IDE's have GUI builders that let you drag'n'drop buttons
and such into a picture, then "wire them up" with code snippets.
I've made a few attempts to use the builder in NetBeans, and found
that just writing Java code was usually easier; YMMV.

     There's also a very old (and very clunky) toolkit for building
GUI's in the java.awt package.  As far as I can see, nobody's used
it (directly) in years and years, and I know of know tutorials.

-- 
esosman@comcast-dot-net.invalid
Eight hundred ninety-six days to go.

[toc] | [prev] | [next] | [standalone]


#38545

From"Michaelxyz@gmail.com" <ashos.owner@gmail.com>
Date2018-08-08 18:03 -0700
Message-ID<9651003d-b011-4329-9328-455d6698bf07@googlegroups.com>
In reply to#38544
What are the best YouTube videos on Swing?

Thank you,
Mike

[toc] | [prev] | [next] | [standalone]


#38546

FromArne Vajhøj <arne@vajhoej.dk>
Date2018-08-08 21:10 -0400
Message-ID<pkg49q$1g34$1@gioia.aioe.org>
In reply to#38542
On 8/8/2018 5:48 PM, Michael_xyz@gmail.com wrote:
> A few years ago I was challenged to develop a complicated GUI with widgets such as buttons, interactive tables, checkboxes, input boxes, etc.
> 
> What are the most widely used libraries to do these things?

Common GUI libraries include:

AWT - part of Java SE since version 1.0, replaced by Swing in Java 1.2 
(Swing still uses some AWT)

Swing - part of Java SE since version 1.2, somewhat replaced by JavaFX 
in Oracle Java 8

JavaFX - part of Oracle Java since version 8

GWT - Eclipse project, only available for some platforms

> Are there any good tutorials, YouTube videos, or books on these subjects.

AWT - some but the a lot may have been lost due to age

Swing - lots

JavaFX - some (note that you need JavaFX 2.x or newer as JavaFX 1.x was 
very different)

GWT - very little

Arne

[toc] | [prev] | [next] | [standalone]


#38554

FromArne Vajhøj <arne@vajhoej.dk>
Date2018-08-09 12:26 -0400
Message-ID<pkhpve$jef$2@gioia.aioe.org>
In reply to#38546
On 8/8/2018 9:10 PM, Arne Vajhøj wrote:
> On 8/8/2018 5:48 PM, Michael_xyz@gmail.com wrote:
>> Are there any good tutorials, YouTube videos, or books on these subjects.
> 
> AWT - some but the a lot may have been lost due to age
> 
> Swing - lots
> 
> JavaFX - some (note that you need JavaFX 2.x or newer as JavaFX 1.x was 
> very different)
> 
> GWT - very little

I have written something about JavaFX:

http://www.vajhoej.dk/arne/articles/javafx.html

Not sure if it matches what you are looking for.

Arne

[toc] | [prev] | [next] | [standalone]


#38547

FromEric Douglas <e.d.programmer@gmail.com>
Date2018-08-09 05:08 -0700
Message-ID<2661ec06-3c32-4f5b-85cd-2ca6f4912d62@googlegroups.com>
In reply to#38542
On Wednesday, August 8, 2018 at 5:48:14 PM UTC-4, Micha...@gmail.com wrote:
> A few years ago I was challenged to develop a complicated GUI with widgets such as buttons, interactive tables, checkboxes, input boxes, etc. 
> 
> What are the most widely used libraries to do these things? Are there any good tutorials, YouTube videos, or books on these subjects.
> 
> Thank you,
> Mike

You started a few years ago and you're just now asking what are the libraries?
You can learn to code from youtube?  I would think that only works for really dumbed down IDEs.
Have you coded Java before?  Have you coded other languages?
I would recommend Oracle as the resource as they have open source, javadocs, a tutorial trail, and examples.
https://docs.oracle.com/javase/tutorial/uiswing/examples/components/index.html

Which library depends how complicated you expect to get.  My personal library is based on swing, is quite complex, and took years to develop.
A framework program such as Spring is most popular these days but may limit what you can do.

[toc] | [prev] | [next] | [standalone]


#38553

FromArne Vajhøj <arne@vajhoej.dk>
Date2018-08-09 12:25 -0400
Message-ID<pkhptf$jef$1@gioia.aioe.org>
In reply to#38547
On 8/9/2018 9:03 AM, Stefan Ram wrote:
> Eric Douglas <e.d.programmer@gmail.com> writes:
>> You started a few years ago and you're just now asking what are the libraries?
> 
>    In one of my 30 hours (one week) Java classes, the students
>    learn some JavaFX programming. It's easier to teach than
>    Swing.

JavaFX is in almost all ways better than Swing.

:-)

>    I wish Oracle would do two things:
> 
>        - express a sincere commitment to do long-term
>          maintenance of /one/ GUI that is established
>          as /the/ long-term GUI of Java SE. Could have
>          been Swing or JavaFX. But they already announced
>          that JavaFX will leave Java SE. So they should
>          start to work on Swing again.
> 
>          Instead they do the opposite making a confused
>          impression by first adding JavaFX to Java SE
>          only to remove it again just a few years later.

I say stick with JavaFX.

Yes. JavaFX is being debundled with Oracle Java. But no
big deal in my opinion - bundling was important for applets
and Java Web Start, but less for desktop apps.

And even though Swing will be in Java 11 / 18.9 LTS, then
it has been announced that it will go in the same direction.

 From the March roadmap:

<quote>
Executive Summary:
* The public availability of Java SE 8 updates from Oracle has been 
extended to January 20191. Moreover, Oracle will continue to provide 
consumers with updates for personal (non-corporate) use of Java SE 8 
through at least the end of 2020.
* Oracle will continue to support Java SE 8 Web Start applications for 
public and personal (non-corporate, non-commercial) use to the same 
dates noted above. Oracle encourages developers relying on these 
deployment options for the delivery of applications to consumers to 
migrate to other solutions.
* Oracle will continue to commercially support Java Web Start on Java SE 
8 for commercial use, or when used in conjunction with Oracle products 
that have a Web Start dependency, through at least March 2025.
* As announced in 2015, Applets will continue to be supported in Java SE 
8 until at least March, 2019, pending continued support by browser 
vendors, after which they may be removed at any time.
* JavaFX new fixes will continue to be supported on Java SE 8 through 
March 2022 and removed from Java SE 11.
* Swing and AWT will continue to be supported on Java SE 8 through at 
least March 2025, and on Java SE 11 (18.9 LTS) through at least 
September 2026.
* Oracle has begun conversations with interested parties in the Java 
ecosystem on the stewardship of JavaFX, Swing and AWT beyond the above 
referenced timeframes.
</quote>

Note the last bullet.

>        - Is this possible? They gave up on WORA! They
>          have not ported Java SE to Android nor iOS.
>          I want my Java SE code to run on Android and
>          iOS, and this includes Swing and JavaFX.
>          If this would ever happen, it would change the
>          landscape and make JavaSE much more important.

Yes.

But I am not sure it is Oracle's choice.

Oracle has created an Java SE Embedded product that runs
on ARM.

Google and Apple have chosen a different path.

Arne





[toc] | [prev] | [next] | [standalone]


#38555

FromEric Douglas <e.d.programmer@gmail.com>
Date2018-08-09 10:30 -0700
Message-ID<25c8f21b-e145-4255-895c-9939ead323fb@googlegroups.com>
In reply to#38553
On Thursday, August 9, 2018 at 12:25:32 PM UTC-4, Arne Vajhøj wrote:
> 
> JavaFX is in almost all ways better than Swing.
> 
> :-)
> 

If you're developing a brand new API you may want to try JavaFX.  If you're working with 10 year old software, or a third party platform that has a method called addWrappedJComponent, you're probably using Swing.

> >    I wish Oracle would do two things:
> > 
> >        - express a sincere commitment to do long-term
> >          maintenance of /one/ GUI that is established
> >          as /the/ long-term GUI of Java SE. Could have
> >          been Swing or JavaFX. But they already announced
> >          that JavaFX will leave Java SE. So they should
> >          start to work on Swing again.
> > 
> >          Instead they do the opposite making a confused
> >          impression by first adding JavaFX to Java SE
> >          only to remove it again just a few years later.
> 
> I say stick with JavaFX.
> 
> Yes. JavaFX is being debundled with Oracle Java. But no
> big deal in my opinion - bundling was important for applets
> and Java Web Start, but less for desktop apps.
> 
> And even though Swing will be in Java 11 / 18.9 LTS, then
> it has been announced that it will go in the same direction.
> 
>  From the March roadmap:
> 
> <quote>
> Executive Summary:
> * The public availability of Java SE 8 updates from Oracle has been 
> extended to January 20191. Moreover, Oracle will continue to provide 
> consumers with updates for personal (non-corporate) use of Java SE 8 
> through at least the end of 2020.
> * Oracle will continue to support Java SE 8 Web Start applications for 
> public and personal (non-corporate, non-commercial) use to the same 
> dates noted above. Oracle encourages developers relying on these 
> deployment options for the delivery of applications to consumers to 
> migrate to other solutions.
> * Oracle will continue to commercially support Java Web Start on Java SE 
> 8 for commercial use, or when used in conjunction with Oracle products 
> that have a Web Start dependency, through at least March 2025.
> * As announced in 2015, Applets will continue to be supported in Java SE 
> 8 until at least March, 2019, pending continued support by browser 
> vendors, after which they may be removed at any time.
> * JavaFX new fixes will continue to be supported on Java SE 8 through 
> March 2022 and removed from Java SE 11.
> * Swing and AWT will continue to be supported on Java SE 8 through at 
> least March 2025, and on Java SE 11 (18.9 LTS) through at least 
> September 2026.
> * Oracle has begun conversations with interested parties in the Java 
> ecosystem on the stewardship of JavaFX, Swing and AWT beyond the above 
> referenced timeframes.
> </quote>
> 
> Note the last bullet.
> 

So what is this about stewardship?  Oracle wants to give away Java piece by piece?  Oracle wants to maintain Java but has no need for it's GUI classes?  Oracle wants to retain control of Java and have someone else maintain it for them?  At least for the "short" term we can count on Oracle Java and Swing through 2026.  That should be all I need to care about, but what beyond that?  I'm a little confused.

[toc] | [prev] | [next] | [standalone]


#38556

FromArne Vajhøj <arne@vajhoej.dk>
Date2018-08-09 13:45 -0400
Message-ID<pkhuj9$rm6$1@gioia.aioe.org>
In reply to#38555
On 8/9/2018 1:30 PM, Eric Douglas wrote:
> On Thursday, August 9, 2018 at 12:25:32 PM UTC-4, Arne Vajhøj wrote:
>> JavaFX is in almost all ways better than Swing.
> 
> If you're developing a brand new API you may want to try JavaFX.  If
> you're working with 10 year old software, or a third party platform
> that has a method called addWrappedJComponent, you're probably using
> Swing.
Well - Swing can use JavaFX.

So in theory whatever -> Swing -> JavaFX should work.

:-)

I am not sure that I will recommend it though.

>>   From the March roadmap:
>>
>> <quote>
>> Executive Summary:

>> * Oracle has begun conversations with interested parties in the Java
>> ecosystem on the stewardship of JavaFX, Swing and AWT beyond the above
>> referenced timeframes.
>> </quote>
>>
>> Note the last bullet.

> So what is this about stewardship? Oracle wants to give away Java
> piece by piece? Oracle wants to maintain Java but has no need for it's
> GUI classes? Oracle wants to retain control of Java and have someone
> else maintain it for them? At least for the "short" term we can count on
> Oracle Java and Swing through 2026. That should be all I need to care
> about, but what beyond that? I'm a little confused.

You are not alone.

I *don't know* what Oracle thinks.

If I were to *guess* based on various statements then I would say:
* Oracle wants to make open source projects the primary owner
   of base Java and as a company focus on the commercial Java products -
   this seems to be a widely used model (Linux - Redhat etc.)
   and follows closely where SUN was heading before the acquisition
* the road forward for Java SE is a smaller/slimmer core Java
   with external extras (Java EE for server side, Swing for GUI,
   JavaFX for GUI, XXX for client side web service etc.) allowing
   for faster releases of core Java

Arne






[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.java.programmer


csiph-web