Java低速GUI Swing 10

0001デフォルトの名無しさん2011/09/20(火) 23:23:15.82
ハードウェアの高スペック化、描画アルゴリズムの変更、JavaVMの高速化に伴い、パフォーマンスの問題は改善されています。
しかしながら、"Java"というだけで未だに敬遠されるのが現状。
そんなSwingと引き続き付き合っていくみんなのスレッドです。

Java低速GUI Swing 9
http://hibari.2ch.net/test/read.cgi/tech/1261232019/
Java低速GUI Swing 8
http://pc12.2ch.net/test/read.cgi/tech/1227234261/
Java低速GUI Swing 7
http://pc11.2ch.net/test/read.cgi/tech/1204155623/
Java低速GUI Swing 6
http://pc11.2ch.net/test/read.cgi/tech/1190807478/
Java低速GUI Swing 5
http://pc11.2ch.net/test/read.cgi/tech/1161139809/
Java低速GUI Swing 4
http://pc8.2ch.net/test/read.cgi/tech/1140533866/
Java低速GUI Swing 3
http://pc8.2ch.net/test/read.cgi/tech/1121700954/
Java低速GUI Swing 2
http://pc8.2ch.net/test/read.cgi/tech/1095398949/
Java低速GUI Swing
http://pc5.2ch.net/test/read.cgi/tech/1062271447/l50

0440デフォルトの名無しさん2018/07/04(水) 23:02:44.36ID:gFgZc5FG
2C3

0441デフォルトの名無しさん2018/07/06(金) 12:38:27.29ID:uTPDH9XV
JD7SU

0442デフォルトの名無しさん2018/08/07(火) 22:54:59.59ID:Mbqc13Y2
JavaFXが死んでこっちは盛り上がっているかと思ったが、そうでもないんだな。

0443デフォルトの名無しさん2018/11/17(土) 11:41:05.83ID:LJA6Qb6G
向こうのスレから転載

An Oracle White Paper March 2018
Java Client Roadmap Update
https://www.oracle.com/technetwork/java/javase/javaclientroadmapupdate2018mar-4414431.pdf


Swing and AWT
AWT has been an integral part of Java SE since its launch in 1996.
Swing was introduced shortly thereafter as a separate library and finally incorporated into “J2SE 1.2” in 1998. Both toolkits are still part of the Java SE Specification and core to many other toolkits and applications that build on top of them.
Oracle will continue developing Swing and AWT in Java SE 8 and Java SE 11 (18.9 LTS). This means they will be supported by Oracle through at least 2026.

0444デフォルトの名無しさん2018/11/21(水) 18:59:51.94ID:b35PMmU2
> This means they will be supported by Oracle through at least 2026.
オラクルがこういう言い方するときは要するにまだ何も決まってないってことだぞ。
未来のことに触れてると見せかけて現状を説明しただけっていういつものやつ。

0445デフォルトの名無しさん2021/01/05(火) 04:06:24.80ID:UotbUhIg
ほしゆ(・ω・)

0446デフォルトの名無しさん2021/01/20(水) 19:27:35.65ID:MNAZOc7q
GNU LGPL3で立ち上げたいけど、
Javaのオープンソースでもいける?

一応GNUにメールはしてる

0447デフォルトの名無しさん2021/01/20(水) 19:31:29.29ID:RjL3wS6+
あ、URL必要かな

0448デフォルトの名無しさん2021/01/20(水) 19:38:59.15ID:RjL3wS6+
大丈夫だろうか、あまりGNUライセンスにする傾向じゃないプログラムで、
ただ、他に向いてそうなライセンスが見当たらないんですよね。

メールはしたから返事まちかな、、

OSDN > ソフトウェアを探す > マルチメディア > サウンド/オーディオ > ミキサ > Extended MIDI Mixer

Yahoo知恵袋の宣伝目的NGに該当するので、こちらで伺います。
Swingなのでこのスレを見てました。

ビクビクしてますが、、

0449デフォルトの名無しさん2021/01/20(水) 20:11:53.92ID:c8t2FVIz
あ、メールは必須じゃないのか、、

何か間違えた

0450デフォルトの名無しさん2021/01/21(木) 13:27:13.82ID:jRLswf9/
MidiDevice用のINはスレッドをAPIが立ち上げてるのか
一応対処しました。

ひょっとしてOUTも?

あとOutputのバッファオーバーを知るAPIがないから
それは勘弁な

0.93リリースです。

0451デフォルトの名無しさん2022/08/05(金) 08:04:11.70ID:i6vOLsi1
予想通り過疎ってるwww
独り言落としてくね!

Win版OpenJDK使用のアプリで、タッチパネルピンチ操作イベントをマウスホイールイベントとして拾えないバグ、報告されたの5年前なのにずっと放置w

もう本家もやる気ないんだろな。
FXですらMac版のスレッド実装問題でdndで落ちるバグ放置されてるし。
仕方ないので、前者はJNA使ってイベント拾う実装を書いてる。
ピンチ検出までできたからもう少しでインかアウトの判定に辿り着けそう。

というわけで未だにswingでマルチプラットフォームアプリ書いてるわけだけど、
WindowsのUWPはオワコンになったし、
なんだかんだで業務用アプリ書くには悪くない環境ですよswing は。
動作もjavascript頼みのマルチプラットフォームフレームワークより軽いと思う。

では、数年後スレが残ってたらまた来ます。

0452デフォルトの名無しさん2022/08/06(土) 21:42:05.07ID:wJirtnJ7
>>451
>なんだかんだで業務用アプリ書くには悪くない環境ですよswing は。

これは大収穫のお言葉、詳しく教えてください!!

0453デフォルトの名無しさん2022/08/09(火) 00:04:39.25ID:bKJRywmG
俺もswing好きだわ。

0454デフォルトの名無しさん2022/08/09(火) 00:18:40.76ID:KAEQzIc+
じゃあ俺も

0455デフォルトの名無しさん2022/08/09(火) 06:39:20.83ID:/QsLf7Eg
俺も俺も

0456デフォルトの名無しさん2022/08/10(水) 18:32:47.04ID:8wl1vZ8Q
プログラミングモデルは好きだけど
look & feel は不完全な模倣になってて
ネイティブのラッパーの方が
実用的だなと思った

0457デフォルトの名無しさん2022/08/10(水) 22:13:11.96ID:gf2K0ZCl
わしも!
非同期処理の実装しやすいし
androidとかフレームワークによってはダイアログ表示と結果取得が非同期だったりするしw

0458デフォルトの名無しさん2022/08/12(金) 11:53:04.45ID:0e2Dltzu
Swingは設計が綺麗だなと思った。

0459デフォルトの名無しさん2022/09/17(土) 15:06:22.57ID:5gb6FxEB
swingアプリにJFXPanelのwebkitブラウザ実装したUIキメラ作ったったw
これでjsベースのエディタとかビューのモダンなUIフレームワーク使える

ブラウザ内のjsエンジンから発生したイベント拾ってJava側でハンドルする
ただswingとjfxのスレッドが別だから
初期化時の同期と相互にinvokeLater()使うことに注意必要だけど

0460デフォルトの名無しさん2023/07/11(火) 07:46:05.23ID:hZK5sFkA
男は黙ってJEditorPane

サシャナゴンの方が好きだ

04614512023/09/24(日) 22:24:00.15ID:jzYiScHF
>>451

本業の合間にやってたから今頃なったけど、Windowsでピンチ操作拾えないバグの回避実装に成功した~
JNAでWin32のローカルメッセージハンドラフックしてピンチイベント検出できた
VC++の構造体の内部資料が無くて
色々なソースから類推するのが大変だったけど勉強になった

04624512023/09/24(日) 22:34:50.62ID:jzYiScHF
>>452
亀レスすまん

流行りのWebのvue.jsとかreactとかより
設計がシンプルだからデバッグしやすいなど実装が楽ってだけ
業務用はuiのカッコ良さより安早楽が大事でしょ?
あとビジネスロジックにおいてJavaは高機能ライブラリが豊富なのも有難い
MSの.NETほどにフレームワーク設計しくじってぐちゃぐちゃになってないし

逆に今どきのおしゃれインターフェースにしたいならjs系がいい

0463デフォルトの名無しさん2023/09/27(水) 23:34:40.13ID:Kbex28u5
そういやスレタイでswingを低速言うてるけど
JavaFXのほうが初期化しめちゃめちゃ時間かかってもっさりしてるんだけど…
そしてmacでは未だにスレッド競合解決してない
swnigよりオワコンな気がする

0464デフォルトの名無しさん2023/09/28(木) 21:16:38.66ID:x1hSo4u3
真実を愛せ。ただし過ちは許せ

0465デフォルトの名無しさん2023/12/28(木) 23:54:02.59ID:eFg1sCcO
スタンドアロンアプリ自体が絶滅しようとしているんだ…
クラウドが大規模障害起こして復旧目処立たなくなったとき
人々はjavaアプリの偉大さを噛みしめることであろう

swingは死なず、ただ去りゆくのみ

0466デフォルトの名無しさん2023/12/29(金) 17:52:36.41ID:rzQLK+Os
JavaでGUIするぐらいならウインドウにHTMLでええやん…

0467デフォルトの名無しさん2023/12/29(金) 22:00:11.69ID:JQn1FaNw
まあハードウェアアクセラレートあってもHTML/jsのUIがもっさりしてるのみんな慣れてきたしね

0468デフォルトの名無しさん2023/12/30(土) 00:25:28.91ID:9n1xxmBk
GUI表現としてHTML/CSSは十分なんだけどロジックをJavaScriptで書くのはつらい

0469デフォルトの名無しさん2023/12/30(土) 00:55:38.23ID:CvaIx2Pu
ビジネスロジックは鯖側のnode.jsで書けるしスタンドアロン系も同じnode.jsで動くフレームワークあるよ
ただマルチスレッドじゃないから似非非同期による安定実装めんどくさい

0470デフォルトの名無しさん2023/12/30(土) 08:42:45.57ID:9n1xxmBk
サーバー側のnode.jsだってJavaScriptじゃん
それに昔と違ってビジネスロジックはサーバーサイドが担当するって考え方も今は通用しない
SPAが流行しててクライント側で動かさなければならないロジック(JavaScript)が昔より増えてるのだ

0471デフォルトの名無しさん2023/12/30(土) 09:17:16.16ID:CvaIx2Pu
ビジネスロジックとUIロジック整理しないで実装してるから開発管理破綻してるのでは?

フロント/バックエンド部隊の連携、運用保守まで考慮した設計できないならSPAは採用すべきでないと思うけどなぁ
俺のvue.jsとlambdaの開発リーダー経験からの話だけど
next.jsあたりはもっと進歩してスッキリしてんのかと思ったが違うの?

0472デフォルトの名無しさん2023/12/30(土) 12:30:59.06ID:9n1xxmBk
ビジネスロジックをサーバー側に閉じ込めようとすると
SPAではクライント/サーバー間の通信回数が増えてレスポンスが低下したりするのよ
だからクライントでビジネスロジックを動かすようになってきてる

0473デフォルトの名無しさん2023/12/30(土) 13:40:32.71ID:CvaIx2Pu
そうなのか、そんなファットになると
遅延読み込み使ってもロード&jsコンパイルのせいでキャッシュ前は凄く重そうだ

そんならアプレットやActiveX時代のほうがよほど合理的だよねw
4年くらい前は鯖と無駄な通信しないように同期対象データを複数のグループにまとめてパフォーマンスと操作性のバランス保ってたけど
いまだにフレームワークで鯖と自動差分同期も出ないんだ…

というわけで、アプレットはダメでもswingアプリ復活の方向でめでたしめでたしw

0474デフォルトの名無しさん2023/12/30(土) 16:51:42.98ID:4WPbBasM
Ruby on Rails 7 からは、Hotwire に変わった。
HotwireはHTML Over The Wireの略で、
SPAの開発において、JavaScriptのコーディングを極力必要としない。
脱node.js, webpack

JSONではなく、HTMLベース。
サーバーサイドでHTMLを生成し、WebSocketでWebブラウザへ送信する

https://techblog.gmo-ap.jp/2022/07/05/rails-7-hotwire/

https://zenn.dev/shita1112/books/cat-hotwire-turbo/viewer/abstract

0475デフォルトの名無しさん2023/12/31(日) 11:53:05.54ID:bYYQOTA1
SSRていうやつけ?
Rails嫌いではないがすっかりオワコンイメージだなあ

いやほんとにファットなアプリケーションをHTML/JSで実装しようというアプローチ自体が間違ってたんだなぁとしか思えない
そんならアプレットやバイナリ配信してキャッシュさせるアプローチに戻したほうがいい

04764742023/12/31(日) 22:47:52.24ID:zAD+40EH
Rails 7 のHotwire, Elixir のPhoenix もLiveView で、
websocket によるリアルタイム通信に変わった。
これはHTTP2 で通信速度が速くなったから

ここ数年、SPA でReact に奪われたシェアを回復すべき戦略。
JSON を送って、ブラウザ側で組み立てなくても良い

0477デフォルトの名無しさん2024/01/02(火) 22:10:02.99ID:dQstW7+J
Webフロントエンドは成熟しないねー
次々と新しい技術が登場してきて大変
いま最新技術を選択しても数年後には「まだそんなの使ってるの?」と言われちゃう

0478デフォルトの名無しさん2024/01/06(土) 09:08:07.68ID:vtQPKo7U
日本の客も開発者も要件整理苦手だから泥縄で作るじゃない?
そういうやり方の場合SPAは実装ぐちゃぐちゃで使い勝手も悪くメンテも困難になる

レガシーなページ遷移あったほうが自然とトランザクション整理されるからお似合いと思うけど

0479デフォルトの名無しさん2024/01/06(土) 09:10:41.02ID:vtQPKo7U
そういう意味ではswingとかスマホでスタンドアロンアプリ作るのも日本人向きじゃないと思う

04804742024/01/08(月) 21:38:29.96ID:gJaMg8aw
>>478
>レガシーなページ遷移

Ruby on Rails では、turbolinks を使って、pjax になる

ajaxとhistoryAPI(popState, pushState)を利用して画面遷移する。
js, cssの読み込みを初回時に行い、次回以降の読み込み処理を省略することで高速化する

0481デフォルトの名無しさん2024/04/19(金) 02:33:22.05ID:uD5nyH4z
いまではPCのスペックが上がって、遅くもなんともない。

0482デフォルトの名無しさん2024/04/21(日) 20:30:12.98ID:MS9R2kFy
JAVA SWING のボタンはお洒落だからカワイイから
JAVA SWING はボタンはカワイイくてお洒落だ

0483デフォルトの名無しさん2024/04/22(月) 21:44:32.97ID:Xbe0J1w7
swingアプリメンテしてて困るのは
最近は横4000ドット近くあるノートPCで
アイコンやフォントが小さすぎる問題

古いフレームワークだからそういうの想定したスケーリング機能がない

結局自分でcontainer内のフォントサイズを再帰的に設定するメソッドとか作ったが
何十個もあるダイアログ全部まで手が回ってない…

逆に>>481 の言うように、スピードは全く問題なくなったね

0484デフォルトの名無しさん2024/04/22(月) 21:46:56.69ID:Xbe0J1w7
>>482
かわいいっていうか
ちっさすぎて見えなくなったよ

0485デフォルトの名無しさん2024/04/23(火) 01:08:28.22ID:VsJUMcwZ
SwingってHiDPI対応してないの?
Swing で作られてるらしいIntelliJ IDEAはHiDPI対応してるっぽいけど?

0486デフォルトの名無しさん2024/04/23(火) 08:28:06.05ID:P83a14ex
>>485
標準のL&Fは対応してないよ
対応しているように見える実装は独自L&F実装してる
OS側の強制拡大スケーリングはうまくいかないこと多いし
やはり時代遅れ

0487デフォルトの名無しさん2024/04/23(火) 09:50:21.78ID:83Qb5OUf
そうなのか
ちなみにJavaFXはHiDPIに対応してた

0488デフォルトの名無しさん2024/04/23(火) 23:01:45.01ID:kXp8u5Dt
>>483
そんな高解像度のまま使っているのがおかしい

0489デフォルトの名無しさん2024/04/24(水) 13:19:52.73ID:21UOMqIs
jfxはmacOSで致命的ハングするから
代替にならないんだよなぁ

0490デフォルトの名無しさん2024/04/25(木) 20:14:42.51ID:WdrJmqqJ
ところでJavaFXにあるような
カレンダーによるdatechooserいいの無い?
名前忘れたけど有名どころのやつは
HiDPI対応してないうえにフォント拡大も
パネルサイズ変更も対応してないので
つかえないんですよ

新着レスの表示
レスを投稿する