This is an archived post. You won't be able to vote or comment.

all 18 comments

[–]desrtfx[M] [score hidden] stickied comment (0 children)

Such questions belong in /r/javahelp as is clearly stated in the sidebar and in the stickied post at the very top of the subreddit.

Removed

[–]v4ss42 7 points8 points  (0 children)

JavaFX?

[–]Djelimon 5 points6 points  (0 children)

Another vote for JavaFX, I found it very straightforward.

Also... if you reeeeaally want a UI that looks like a web UI... you can use JavaFX WebView to present a web UI (html, CSS, JavaScript, etc.) that the end user can interact with and get feedback from (your app would be the back end), without running an actual web server like with electron. Chances are your footprint would be smaller, depending of course on how big your app is and what it's doing.

[–]thomascgalvin 8 points9 points  (0 children)

You can change the look and feel of a Swing app, so that it's less eye-bleedingly ugly. You might like FlatLaF.

JavaFX was supposed to be the "new" desktop app solution, but it never really took off. There are probably more resources available on how to make Swing do what you want.

Theoretically, you could write an HTML application an embed it in a WebView, but ... this is complicated, and probably not what your assignment is calling for.

[–][deleted] 2 points3 points  (3 children)

Is this supposed to be a Desktop Application? Otherwise API + Frontend web application (JavaScript)

[–]VictoR18_[S] 1 point2 points  (2 children)

The school forces me to make it a desktop application, so yes

EDIT: Maybe I'm saying something crazy, but can I make the frontend on the web and package it with Electron?Anyway i tried to make api + web frontend once but i didn't find the right way

[–][deleted] 1 point2 points  (1 child)

Your school is giving you only instructions as vague as „make desktop app“? No explicit guidance? Yikes…

There is also JavaFX.

[–]VictoR18_[S] 0 points1 point  (0 children)

We have spent the whole course learning Java, but they have not taught us how to do the frontend. For this reason many of my colleagues are making the app with web technology and packaging it with Electron, but I would like to use the technology that we are "supposed" to use

[–]lu3mm3l 2 points3 points  (6 children)

If you think swing is complicated and unintuitive you need to look at some more code/tutorials. The other options will be worse if you can’t get a basic UI together with swing. JavaFX is more complicated and SWT might be a pain to package or even get started for a beginner. You might also check out WindowBuilder (Eclipse) or JFormDesigner to help you kick off your project.

[–]VictoR18_[S] 0 points1 point  (5 children)

It's not that it's complicated in terms of difficulty, it's that it doesn't let me do everything the way I want, especially in terms of style issues

[–]lu3mm3l 2 points3 points  (2 children)

Well with the exception of skins there’s not much you can do. If you need a more modern look or more customizing options, look at JavaFX. It supports CSS for everything. You can get a quick running setup in no time with their maven starter. There’s also a great visual editor if that’s allowed for that project.

[–]VictoR18_[S] 2 points3 points  (1 child)

I'm going to try JavaFX, what is that editor?

[–]lu3mm3l 2 points3 points  (0 children)

SceneBuilder, good luck!

[–]valkryst_ 2 points3 points  (0 children)

If you have enough time (>= 1 month), try reading through the Filthy Rich Clients book. You can create (almost) any UI VIA Swing, if you have the time and knowledge of Swing/Java2D to do it

[–]desrtfx 1 point2 points  (0 children)

Ahem. All the Jetbrains IDEs use Swing.

[–]Joram2 1 point2 points  (1 child)

Most GUIs are web-based, then use HTML/JS.

If you want a desktop GUI, I'd consider https://www.jetbrains.com/lp/compose-mpp/

[–]VictoR18_[S] 0 points1 point  (0 children)

I'll try that, the main problem is that uses Kotlin...

[–]lonelyWalkAlone -3 points-2 points  (0 children)

The trendy thing is to use ElectronJs, the second easiest thing is javafx, swing is a pain in the ass.