That's a good question! Obviously you have done your homework and have narrowed it down to only two best choices. Another good choice could be Python depending on your needs. (Some people think Python is not for large applications. To some degree it is true, but depends on how you define large. I used it for a 32-threaded video encoding application with GUI that runs on a 32 cores monster machine)
I would personally take Qt over Java for its efficiency. Here is a pretty good Qt vs Java comparison:
但又見到別一個問題, 佢個 example 係將 new listview item 時直接比 root node 入去, append 入 root node. 自然少左 code.
但其他 language 點解唔咁做呢? 咁做有乜利弊, 可以請師兄指教下嗎?
As the paper explains, Swing enforces the use of MVC architecture. Qt supports MVC too, although it's not mandatory. MVC is a good example of separation of concerns and it makes the code easier to develop, troubleshoot, and maintain. Since both Qt and Swing support MVC, there is no significant difference. Syntax and implementation of GUI toolkits are not really all that important. I think the author orders the other important aspects quite well. In other words, programmer efficiency goes first, language efficiency second, then libraries and tools.
both Java , C++/Qt are good options.
solely depending on your preference
if you prefer performance or a more native feel -> C++/Qt
besides, think if your application can be done using web technology instead (every platform has good web browsers, html/css/javascript are pretty fast and powerful thesedays, plus it is cross platform and easy to create a cloud experience