タグ

swingに関するlizyのブックマーク (20)

  • GoogleがWindowTester Proをオープンソース化

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    GoogleがWindowTester Proをオープンソース化
  • JFrameとJDialog

    Swing JFrame,JDialogの動き OSのタスクバー上には JFrameは表示されるが、JDialogは表示されません。 Alt+Tab で表示される画面 Alt+Tabで表示される画面切替の表示では、 ”Modal画面” もしくは ”Ownerの指定した親子関係の 最後の子供画面” が表示されます。 Owner(親画面)を指定できるのはJDialogになります。JFrameでは使用できません。 JDialog(Modal)の子画面は JDialog(Modal)を使う。 JDialogModal画面表示後に、”Owner指定なし” かつ ”Modalでない 画面を表示” すると 動作不具合が発生します。 JDialog(Modal)を表示する場合は、Owner(起動元画面)を指定すること。 Owner指定せずに JDialogModal画面を表示すると OSタスクバーをクリッ

  • Yet Another Swing - SwingX 第1回 SwingXプロジェクトとは

    遅ればせながら、明けましておめでとうございます。 今年は久々にJava界隈がにぎやかになりそうです。Java SE 7や、JavaFX 2.0などのリリースが控えているだけでなく、AndroidJava VM上で動作するスクリプト言語などの活況は続いています。 6年目に入ったJava技術最前線では、引き続きJavaの新しい技術を紹介していく所存ですので、よろしくお願いします。 さて、新年最初のJava技術最前線は、久々にSwingの話題です。 とはいうものの、Java SEでのSwingではありません。 現状、Swingは機能追加などがなかなか行われていない状況になっています。もともとJava SE 7で導入される予定だったSwing Application FrameworkやBeans Bindingなどの機能も、Java SE 8に延期になってしまいました。 Java SE 7では

    Yet Another Swing - SwingX 第1回 SwingXプロジェクトとは
  • TheServerSide | Your Java Community discussing server side development

  • Efficient data transfer through zero copy

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    Efficient data transfer through zero copy
  • GDKかSwingBuilderかよーわからんけど,Groovyのナゾがひとつ解けた - marsのメモ

    SwingBuilderにおける以下のようなコードに違和感を覚えつつも,お作法なんだろうからと深くは考えてなかったワケ。 button(text:"Click", actionPerformed: { /* ここにアクションを記述 */ }) でもね,JetGroovyで編集中にこんなコード補完を見つけてしまったのよ。それもSwingBuilder外で。 あれ?actionPerformedってJButtonのプロパティになってるやん。調子のって(↓)こんなことしたら,こっちもプロパティで出るし。 あれこれ調べてみた所,どうやらGroovyが気を利かせてJDKのクラスに独自の拡張を施しているみたい。一応,GDKの存在は知ってたつもりなんだけど,GDKのJavadocにSwingは見当たらなかったんだよなぁ。:-( まあよい。JetGroovyを信じよう。今まで「無名クラスが作れないからSw

    GDKかSwingBuilderかよーわからんけど,Groovyのナゾがひとつ解けた - marsのメモ
  • TheServerSide | Your Java Community discussing server side development

    lizy
    lizy 2008/12/26
    Swingを使ったGUIアプリをHTML+JSに変換してくれるもの。どれくらい実用性があるかは不明だけど、かなり面白そう。
  • Swing再入門 マウスで選択可能なマルチフォントテキストの描画:CodeZine

    はじめに Swingという新しいコンポーネントがJavaに導入された際、同時にグラフィック・コンテキストも刷新されました。「Graphics2D」です。現在、多くの描画用メソッドで使われているGraphicsインスタンスが実はGraphics2Dであることは、Swingをかじっていればご存知でしょう。 今回は、このGraphics2Dのテクニックについて取り上げてみます。需要がありそうで意外と使われていない、「マルチフォント・テキストの描画」です。JavaのGraphicsによる描画では、マルチフォントによるテキスト描画が結構面倒です。結局、setFontをしながら、1つ1つのStringを描画してごまかしている人も多いのではないでしょうか。 テキストの描画というのは、意外に奥が深いものです。きちんと行おうとするとさまざまなところで壁にぶつかります。今回は、さまざまなテキストの描画について

  • JTable - セルレンダラに依存せずセルの色設定を行う - Kazzz's diary

    JTableはセルの描画の諸元をテーブルセルレンダラ(以降セルレンダラ)に任せており、通常はJTableに設定されたテーブルモデル(AbstractTableModel)が扱う型によって内部でデフォルトのセルレンダラが使用される。よって、セルの描画をカスタマイズする場合の常套は仕様に合わせたセルレンダラを用意して、カラム又はカラムが扱う型のセルレンダラを置き換えることで実現できる。 セルレンダラはインタフェースjavax.swing.table.TableCellRendererを実装するクラスとして書くことができる。 public interface TableCellRenderer { Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasF

    JTable - セルレンダラに依存せずセルの色設定を行う - Kazzz's diary
  • TableCellEditorのバリデーションとイベント - Kazzz's diary

    例えばJTextFieldやJComboBox等の文字列を入力することのできるコンポーネントの場合であれば、バリデーションを実施するのはフォーカスの遷移時と、データがキーボード等で入力される時である。それぞれ、FocusListener、KeyListenerのイベント通知か、Document又はDocumentFilterの実装で実現できる。 問題はJTable。このコンポーネントの場合は「セルエディタ」と呼ばれるエディタオブジェクトの参照を得た上でイベントを拾う必要がある。具体的にはTableCellEditorはCellEditorListenerに二つのイベントを通知できるので、このリスナを実装してイベントの通知を受けるのだ。 public interface CellEditorListener extends java.util.EventListener { public v

    TableCellEditorのバリデーションとイベント - Kazzz's diary
  • "AjaxSwing 2.0"登場 - Swing/AWTアプリをAjax Webアプリへ自動変換 | エンタープライズ | マイコミジャーナル

    CreamTecは6日(米国時間)、「AjaxSwing 2.0.0」を公開した。AjaxSwingはJavaアプリケーションをWebアプリケーションとしてアクセスできるようにするユニークなツールアプリケーション。もともと"WebCream"として公開されていたもので、今回から名称が"AjaxSwing"に変更された。 AjaxSwingはSwingやAWTで開発されたアプリケーションをWebアプリケーションとして操作可能なUIへ変更する。提供されるUIHTMLやAjax技術を組み合わせて実現されるもので、イメージとしてはSwing/AWTアプリケーションのUIが、そのままAjax Webアプリケーションに変換されるようなものだ。 AjaxSwing 2.0.0では非同期通信やコンポーネントレンダリングにAjax技術が活用されるようになったほか、イベントや操作の非同期サブミットの実現、ペ

  • GlassPaneとブロッカ - Kazzz's diary

    GlassPaneとはSwingのフレーム上を構成するいくつかのペイン(レイヤ)のうち、一番上部にあるペインを指す。ここは名前通り「ガラス区画」と呼ばれており、デフォルトの実装では不可視のパネルとして実装されている。 How to Use Root Panes - The Java Tutorials 今回のネタはこのGlassPaneが常時一番上のレイヤとして構成されるのを利用して、処理の実行中に一切のユーザ入力をブロックするために使う"ブロッカ"をを作ることだ。 業務アプリケーションを開発する際に、処理の実行中のマウスイベントやキーボードイベントをブロックするのは誤動作を防止したり、意図的に重複した処理の起動を防ぐのに非常に重要な非業務機能である。WebアプリケーションであればJavascriptで割と簡易に実装しているのを良く見ることができるだろう。.NET WindowForms用

    GlassPaneとブロッカ - Kazzz's diary
  • アノテーションを使って、GUIコンポーネントのTabOrderを設定する - Kazzz's diary

    今年最後のJavaネタ。 最初にSwingでGUIアプリケーションを書く場合に一番面らったのが「タブオーダを設定するための方法が無い」ということだった。 その後のGUIビルダの殆どが影響を受けたVisual Basicファミリの伝統であり、GUIコンポーネント(コントロール)のフォーカス順を設定する手法として最もプリミティブな方法がいわゆる「タブ・オーダ」「タブ・インデクス」による直接的な順番の設定であり、それは.NET WindowFormsでも基的には変わらない。その方法がSwingには無いのだ。 具体的にはSwingはjava.awt.FocusTraversalPolicy抽象クラスによってフォーカス遷移を制御できる。このクラスのデフォルトの実装は既にJFrameに組み込まれており、基的にはフレーム上に追加された順にタブオーダが振られるし、その順が気にいらないのであればこのク

    アノテーションを使って、GUIコンポーネントのTabOrderを設定する - Kazzz's diary
  • JOptionPaneの憂鬱 - Kazzz's diary

    javax.swing.JOptionPaneは.NETでいう所のSystem.Windows.Forms.MessageBoxと同等の機能を実現するためのクラスだ。 使い方として一番簡単なのはスタティックなメソッドを使ってダイアログを表示することだ。 JOptionPane.showMessageDialog(null, "メッセージ", "タイトル", JOptionPane.INFORMATION_MESSAGE); 実行結果 この段階では非常に気に入らない。(というか悪いが使い物にならない) 日フォントのレンダリングが汚い 英語フォントはまだ我慢できるが、Javaのデフォルトの日フォントのレンダリングははっきり言って酷過ぎる。これはJ2SE6であれば起動オプションでアンチエイリアスを有効にできるらしいので、試してみる。 -Dawt.useSystemAAFontSettin

    JOptionPaneの憂鬱 - Kazzz's diary
  • Swing再入門 マルチフォントへの対応:CodeZine

    はじめに 今回は、マルチフォントについて考えてみましょう。Swingには、JTextPaneというマルチフォントに対応したテキスト編集用コンポーネントがあります。これを利用すれば、マルチフォントのテキストを扱うことが可能です。 また、マルチフォントのテキストは、そのままテキストファイルに保存できません。RTFなどのファイルに書き出す必要があります。 こうしたマルチフォント関係の機能は、意外と使ったことがない人は多いはずです。ここで、その基的な仕組みと利用方法について理解しておきましょう。対象読者Javaの基機能は一通り覚えた、というビギナーを卒業しかけている人。Swingはマスターした? といわれると、ちょっと自信がない人。これからはクライアントサイドが注目されると信じる人。 JTextPane利用の基 まずは、JTextPaneを使ったマルチフォントの表示から説明をしていくことにし

  • Swing Application Framework その2 - Kazzz's diary

    Swing Application Framework JSR 296: Swing Application Framework 仕事に使うことになるかもしれないので気でドキュメントを見ているのだが、拙作のフレームワークと設計の観点で共通する部分があり、親近感が沸く。 例えばActionクラスとGUIを結びつける部分、そのためのアノテーションが用意されている点や、アプリケーションのライフサイクルに合わせてイベント(メソッド)が実行される点などが似ている。(まあ、それだけポヒュラな手法でありいろいろな所で使われているということなのだが)逆に、アノテーションの属性で非同期処理のブロッキングを制御できる点は拙作のそれには無いので非常に参考になる。 全体的にはコード量も少なく必要最低限の実装なのがシンプルで見通しが良く素晴らしい。 なお、JCPではJSR-296: Swing Applicati

    Swing Application Framework その2 - Kazzz's diary
  • SwingベースのMVCアプリを容易に構築 - OpenSwing1.2 | エンタープライズ | マイコミジャーナル

    30日、SwingベースのUIフレームワークの新しいバージョン「OpenSwing 1.2」がリリースされた。 OpenSwingは、MVCフレームワークに則ったSwingアプリケーションを容易に構築するためのフレームワーク。スタンドアローンのアプリケーション、データベースのフロントエンドとしての2層アーキテクチャ、HTTPサーブレットを介した3層アーキテクチャ、サーバサイドアプリケーションのフロントエンドとしてのRIA(リッチ・インターネット・アプリケーション)など、さまざまなアーキテクチャのSwingアプリケーションを容易に作成できると標ぼうしている。 詳しくは、こちらの記事を参考にしていただきたい。 今回のリリースでは、GridControl、ListControl、テキストフィールドなどの入力コントロールなどに様々な改善が行われたほか、バグフィックスやサンプルアプリの修正なども行わ

  • SwingベースのUIフレームワーク「OpenSwing 1.1.1」がリリース | エンタープライズ | マイコミジャーナル

    27日(米国時間)、SwingベースのUIフレームワークであるOpenSwingの新バージョン1.1.1がリリースされた。こちらのサイトからダウンロード可能だ。OpenSwingはオープンソース(ライセンスはLGPL)で提供されており、Swing開発で頻繁に利用される機能や仕組みを共通化している。 OpenSwingを使用すると、MVC(モデル・ビュー・コントローラ)アーキテクチャに則ったSwingアプリケーションを開発できる。また、OpenSwing自体が多くのSwingコンポーネントを提供しており、中にはモデルとのデータバインディングが自動化されたコンポーネントもある。 加えて、OpenSwingが提供するグラフィックコントロールはJavaBeans仕様に則っているため、NetBeansやEclipseといったIDEのRADツールとも親和性が高い。その他の機能としては、ロギング、国際化

  • Java GUIのレイアウトはコイツにおまかせ! - "MiG Layout 2.1"登場 | エンタープライズ | マイコミジャーナル

    MiG InfoComは2日(デンマーク時間)、MiG Layoutのサイトにおいて、同プロダクトの最新版となる"MiG Layout 2.1"を公開した。公開された成果物はJava SE 1.4/1.5を対象としている。クイックスタートドキュメント、ホワイトペーパ、JavaDoc APIなどドキュメントも充実しており、扱いやすい状況が整っている。プロダクトそのものはThe BSD Licenseのもとで公開されているオープンソースソフトウェア。 MiG Layout (The Layout Manager for Swing & SWT)はSwingおよびSWTのために開発されたレイアウトマネージャ。フローレイアウト、グリッドベースレイアウト、絶対指定レイアウト、グループ&ドッキングレイアウトなどが提供されている。同プロダクトはThe BSD Licenseのもとで公開されているので自由

  • 1