今回も まだまだ イメージに関する話題です。 今回は java.awt.Image を JavaFX で表示する方法についてです。 既にご存知だと思いますが... Java と JavaFX では 画像を表すクラスが違います。 Java の場合は java.awt.Image JavaFX の場合は java.scene.image.Image といった感じですので、当然、 Java の Image をそのまま JavaFX で表示することはできないのです。 ところが、ちょっと凝った デスクトップ・アプリ を作ろうと思うと、java.awt.Image を JavaFX で表示しなくてはならない時があるのです。 例えば、『Drag and Drop on JavaFX Part 6 (FileDroppable)』 のサンプルのようにブラウザから画像をドラッグして表示する場合がまさにそうで
JavaでDialogクラスやJDialogクラスを使用してダイアログを表示するとしましょう。 ダイアログを表示したときに,ダイアログを表示させた元のフレームなどが操作できなくなることがあります。このようなダイアログをモーダルなダイアログといいます。 モーダルなダイアログは,そのダイアログで入力などの操作が必要であることをユーザーにわからせるのに効果的です。 DialogクラスやJDialogクラスは,コンストラクタの引数でモーダルかどうかを指定できます。また,setModalメソッドで指定することも可能です。 一方,JOptionPaneクラスのshowXXXXDialogメソッド(XXXXの部分はInputやConfirmなどが入ります)で表示した場合は,ダイアログはモーダルになります。 J2SE 5.0までは,モーダルの有無しか扱えませんでした。通常はこれだけで問題ありません。しかし
AWTとSwingのペイントの仕組み 上質な描画コード(ペイントコード)がアプリケーションの実行性能を支える By Amy Fowler [原文] 訳:岩谷 宏 (updated: 080709) (小さな明朝文字の部分は訳者による注記です。) 文字しか使えなかった昔のコンピュータとちがって、グラフィックを駆使する今日のシステムでは、画面のどこを、いつ、何色に塗るかという決定と処理があらゆる瞬間に重要です。それを比較的容易に行い、グラフィックを使うユーザインタフェイス(GUI, graphical user interface)を楽に構築するために、画面の上にウィンドウを作ってそれらのウィンドウを操作するツールキット(windowing toolkit)(小さな部品的なソフトウェアの集まり)が、プログラムを開発するための基本的な枠組みとして使われます。 AWT(abstract wind
Java/SwingTips - JavaのSwingに特化したTips 差分表示最後の更新で追加された行はこのように表示します。最後の更新で削除された行はこのように表示します。JavaのSwingに特化したTips *JTableに貼り付けたJTreeにて、指定箇所に移動したい場合 良くある話だけれど、エラー時にエラー箇所に移動する方法 ---( ListSelectionModel selectionModel = table.getSelectionModel(); TreePath path = new TreePath(node.getPath()); JTree tree = table.getTree(); // ツリーをとってくる方法は様々だけれど int row = tree.getRowForPath(path); selectionModel.setSelection
あー、本来ならJavaで書くべきでしょうが、Scalaでjavax.swingを使ってます。m(_ _)m テキストエディタやバイナリエディタを作ろうとしたとき、そのビューに対してキーイベントを 受け付けるようにしなければなりません。 キーイベントに関しては、イベントマスクを外してやる必要があります。 また、TABキーはデフォルトでは、別のコンポーネントにフォーカスが移ってしまうので、 TABキーのイベントは来ません。 TABキーをイベントとして欲しい場合は、フォーカスマネージャの設定を変える必要があります。 import java.awt.{AWTEvent,AWTKeyStroke,KeyboardFocusManager} class TextView(val model:TextModel) extends JComponent { // フォーカスを与える > enableEve
Webアプリだとホットリローディングできるフレームワークがあったり、NetBeansが勝手にビルド・デプロイしてくれたりして、ソースコードのビルドなどを気にしなくてもいいようになってきてるんですが、Swingアプリではホットリローディングができるというのはなかなかなかったわけです。 で、このJaveleonというのが、Javaアプリケーションでホットリローディングできるようにするツール。 http://javeleon.org/ ライブラリじゃないので、普通に作ったSwingアプリなどでホットリローディングできます。 ここではNetBeansプラグインとして使いますが、javaコマンドにパラメータ付加するだけなので、Eclipseなどでも使えるようです。 インストール NetBeansのアップデートセンターに、次のURLを追加します。 http://javeleon.org/javeleo
For a while now (since well before we started the SwingX-WS project) I've been interested in making Swing accessible to the hordes of web authors out there. This demographic is being actively persued by Adobe(Flex) and Microsoft. Web folks are doing more and more to enhance their web applications via AJAX in order to get closer to a rich client experience. At some point it makes sense to use a ric
[Java][Swing] Javaで半透明表示をするときにはまったことのメモ Javaで半透明表示をするときにはまったことのメモ. 塗りつぶし 背景色にアルファ値を設定して透過性を持たせた場合,描画を繰り返すとすると黒く塗りつぶされていってしまう.以下の様なコードを書くことで防げるそうだが,透過に透過を重ねている場合,これを全てに書くのは大変だし,意図通り動作するのか分からなかった.. JTableの背景色にアルファ値を設定して透過性を持たせた場合、デフォルトのBooleanRendererでは色が濃くなる(二重に描画される?)ので、paintComponentメソッドを以下のようにオーバーライドしています。 @Override protected void paintComponent(Graphics g) { if(!isOpaque()) { g.setColor(getBack
Adobe AIRで透明ウィンドウやら非矩形ウィンドウを作るのはすごい簡単で。 ん・ぱか工房さんのサンプルを見てもらえばそれがわかると思う。 そこで、それをJavaでやるにはどうすればいいのかと考えた。 初めに試したのはWiCoCoだけどこれはMacに対応しておらず断念。 次にSWTの方法を試してみると確かに簡単な非矩形のウィンドウは簡単に作れる、 でも画像から非矩形ウィンドウ作るのは大変そうだと思い断念。 困ったなあと思ったらSwingでめちゃくちゃ簡単に実装できた! やり方は簡単でポイントは次の二行。 frame.setBackground(new Color(0x00000000, true)); frame.setUndecorated(true); 一行目で背景色を決めてるけどここが一番のポイントで、 色がARGB形式で指定できるのでここのアルファ値で透明度が指定できる。 今は0
Swingはご存知Java標準のGUIツールキットだ。JREがインストールされていればプラットフォームを問わす利用できるため、JavaでのGUIアプリケーション開発に広く利用されてきた。以前は動作が非常に遅く、見た目がプラットフォーム・ネイティブなアプリケーションと異なることからデスクトップ環境との親和性が低いといった弱点もあったが、Javaのバージョンアップとともに改善されてきている。 JSR-296: Swing Application FrameworkではこのSwingを用いたアプリケーションの開発を支援するためのフレームワークの標準化が行われている。JSR-296はいまだ策定段階ではあるものの、スペックリードであるHans Muller氏によってプロトタイプ版がjava.netにて公開されている。 本稿ではこのプロトタイプ版の本稿執筆時点での最新版(0.20)について紹介していく
・グラフ表示によりスレッド全体の動きや重要な部分を視覚的に把握 ・レスに被参照回数やIDの(出現順/出現総数)を数値として表示 ・被参照回数やID出現数の多いレスを頻度順に表示・抽出 ・被参照回数によりレス番号を任意の段階でハイライト表示(IDも同様) ・自分が書き込んだレスに自動でラベル付け ・自分の書き込みが新着レスから参照された時は音を再生&タブに表示 ・参照レスのインライン展開 ・レスの本文にマーカーを引く(全マーカーを一覧表示) ・レスに付箋(メモ)を貼る(全付箋を一覧表示) ・アニメ番組表をハイライト表示 ・CSSに似た書式で柔軟な表示のカスタマイズ(レス表示スタイル) ・スレッド毎にレス表示スタイルを設定 ・AAレスを通常のフォントとは別のAA用フォントで表示 ・名前欄のキーワードによって本文の上にアイコン画像を表示 ・Beのアイコン(sssp://〜)を表示(GIFアニメも
久しぶりにSwingでプログラミングをしていてTableTree的なことをやりたかったので、これまた久しぶりのSwingXにあるJXTreeTableを使ってみました。 JTableなどでもそうですが、JXTreeTableではJXTreeTable本体に加えてデータを表すTreeTableNodeと、それを表示するためのTreeTableModelを用意する必要があります。JFaceでいうとモデルがTreeTableNode、コンテンツプロバイダとラベルプロバイダを組み合わせたものがTreeTableModelに相当します。 試しに作ってみたのはこんな感じ。まずはTreeTableModelです。 public class SampleTreeTableModel extends DefaultTreeTableModel { private static final int INDEX
■ 久しぶりのSwing開発で躓いたところ 10年ぶりにSwingでデスクトップアプリを開発し、いつのまにか本格的に実用に耐えるフレームワークに仕上がっていたのを知った。NetBeans IDEはとても快適で、API仕様の確認やAPIライブラリのソースコードの確認も簡単にできる。わからない部分があっても、Web検索をすればたいていのことが解説されているのを発見できた。しかし、それでもいくつか、解決策がすぐには見つからない点があった。せっかくなのでここに書き残しておく。 1. テキストコンポーネントのHTML機能を殺す Swingでは、登場した当初からテキストコンポーネントでHTMLが使えるようになっていた。つまり、テキストの冒頭が「<html>」で始まっていると、それ以降のテキストがHTMLとして解釈される。IEでセキュリティ問題を引き起こしたのと同根のうざい仕様だ。JavaScriptは
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く