タグ

ブックマーク / nodamushi.hatenablog.com (21)

  • MarkdownビューワーをJavaFXで作ってみた - プログラムdeタマゴ

    Markdownを書くのに一番いい方法って何なんでしょうね? 私はEclipse + GMF viewerを主に使っていたんですけど、このGMF viewerってディレクトリにhtmlファイル出力しちゃうのがすっごい気にくわないんだよねぇ。 かといって、Firefoxとかでやるとしても、たとえKeySnailを入れてるとしても、EclipseとかEmacsのテキスト編集機能にはさすがにかなわないのよね。 で、GitBucket作者のたけぞうさんがGitBucket用のMarkdownプロセッサ(markedj)をJava作って公開したという記事を見つけた。 ほう、Javaとな。 しかも、会社のGitサーバーに入れたのはGitBucketなので、私の利用環境との相性も良いじゃん。 よし、markedjのビューワー作るか!JavaFXで! というわけで、できた 以下からダウンロードできます。

    MarkdownビューワーをJavaFXで作ってみた - プログラムdeタマゴ
    waman
    waman 2015/11/09
    はてな記法のビューワとか(プロセッサがあれば)作れそうかな。
  • JavaFXでConsole作ってみた - プログラムdeタマゴ

    JavaFXってConsole的な物なくね? ググっても出てこなくね? と、いうわけで、作ってみました、こんなもの。 System.outを今回作ったSimpleConsole.outに変更可能。 マルチスレッド対応(たぶん) 最低限の機能はあるんでない?誰かがしっかりした物を作ってくれるまではこれで我慢しましょうぞ。 NodamushiFXControls/SimpleConsole.java at master · nodamushi/NodamushiFXControls · GitHub NodamushiFXControls/ConsoleTest.java at master · nodamushi/NodamushiFXControls · GitHub

    JavaFXでConsole作ってみた - プログラムdeタマゴ
    waman
    waman 2015/09/27
  • ファイル選択のControl作った - プログラムdeタマゴ

    ウィーっす。 さて、昨日は入力候補が出るTextFieldを作ってみました。nodamushi.hatenablog.com で、これを利用してファイル選択用のConrolを作ってみました。 こんな感じに動作します。 うん、使いやすい。私はやっぱりマウスでクリックするより、キーボードで打ち込んだ方が楽だからねー。 昨日と同じくソースコードはこちら。NodamushiFXControls クラス名はnodamushi.jfx.path.PathChooserが今回のControlです。 FileChooserとかDialogChooserとか自分で操作しなくても勝手にやってくれます。 もともとこれを作りたいが為に、CompletionTextFieldを作りました。こう言うのって、ありそうで、検索してみても出てこなかったんだよね。 (既にあったらすみません) しかし、まー、だいたい、目的の動

    ファイル選択のControl作った - プログラムdeタマゴ
    waman
    waman 2015/08/14
  • 入力候補が出るTextField作ってみた - プログラムdeタマゴ

    夏風邪ひいて熱が出たり咳が出たり鼻水出たりでしんどいですが、皆さん体調いかがでしょうか。 さて、風邪ひいていようと暇なものは暇なので、タイトル通りの物を作っていました。 イメージとしてはこんなのね。(Firefoxの検索窓) ソースコードはこちら。NodamushiFXControls クラスは CompletionTextFieldです。 候補や挿入方法はCandidateインターフェースで定義してあるだけなので、よく言えば自由がある、悪く言えばユーザーが用意しないといけない。 デモ用に作ったCandidateインターフェースの実装(ForwardMatchCandidate)ではこんな感じに動作します。 自作PopupControlの作り方 意外とここの部分でつまった。 最も単純な方法では、TooltipのGraphicに表示させたいNodeを突っ込んで表示するってのが楽そうだけど、や

    入力候補が出るTextField作ってみた - プログラムdeタマゴ
    waman
    waman 2015/08/14
  • タスクバーにタッチキーボードを表示させないorツールバー自体を削除する方法 - プログラムdeタマゴ

    Windows8.1を使い始めてから1ヶ月ぐらい。私は特に8.1に大きな不満はない(でもWindows10に速攻で乗り換えるつもり)のですが、一つだけ文句があった。それは、Wacom Intuos5、つまりペンタブレットを挿すたびにこれ→が表示されること。 検索するとちまたではタッチキーボードのサービスをオフにすれば出てこないよ!とか出てくる。むろん、そんなことは既に試した。だが、このアイコンだけは何故か出てくる!!(ちなみに、サービス停止してるので、このアイコンをクリックしても何も起こらない。) というわけで、何とかしてみた。なお、下記の方法を試すときは必ずバックアップを取った上で自己責任でお願いします。 1.諸根源のファイルを削除する 最初はツールバーからこいつを削除する方法を探していたのだが、私の検索方法が悪いのか、そもそもそんな方法はないのか見つけられなかった。だったら、諸悪の根源

  • JavaFXのLineChartがわりと高性能になった件 - プログラムdeタマゴ

    ども、一ヶ月ぐらい前に作った自作のLineChartをちまちま更新していたら、何か結構高性能になったんじゃね?ってことで、動画にとって見ましたのでご紹介。 機能としては、「データを拡大して、スライドさせることが出来る」「マウスポイントに追従してデータの位置を取得できる」「複数のLineChartの端を一致させたまま配置できる」「複数のLineChartでスクロールバーやマウスポイントを同期させられる」「大量のデータを入れてもとりあえず固まらない」あたりです。 NodamushiChart(Github) とりあえず、動画とか初めてキャプチャして、それをそのままYoutubeにぶち込んだだけだから画質とか酷いけど、気にしないで。てか、相当昔に取ったnodamushiのアカウントに付けてた名前が田中太郎って宇宙人かよ。(ネタ分かる人居るのかな)

    JavaFXのLineChartがわりと高性能になった件 - プログラムdeタマゴ
  • JavaFXでLineChartをスクロールしたり高性能にする - プログラムdeタマゴ

    やろーども。滅入り苦しみます。 と、いうわけで、全国約80人のJavaFXユーザーにnodamushiサンタがナイスノンケなプレゼントをもってやってきたぜぃ。 さて、妙なノリもここまでにして、JavaFXLineChartって使いにくい、というのが私の結論です。グラフ描画領域内のマウスイベントは取れない、double[]配列でデータあるのをいちいちDataに変換しないといけない、Axisをスクロールさせて描画領域を変化させることも出来ない。複数のグラフを並べて表示させることが出来ない。その上妙なアニメーションやらまじうぜぇ。 で、これらを解決すべく色々模索した結果……… LineChart自作してまいました( ゚д゚)メリークリスマス ソースコード:NodamushiChart あ〜、車輪の再発明糞面倒くさいぜー まだバグバグしてるし、欲しい機能(マウスイベント、表示範囲の変更など)全て

    JavaFXでLineChartをスクロールしたり高性能にする - プログラムdeタマゴ
  • relocateはsetLayoutX,setLayoutYの代わりではない - プログラムdeタマゴ

    朝から叫んでおりました内容が解決したので、記事にしておきます。 まずは、以下のようなクラスを用意します。一辺100の正方形の中心に直径60の円と長さ100の横棒を重ねたような図を表示します。 import javafx.scene.Group; import javafx.scene.shape.Circle; import javafx.scene.shape.Line; public class ShapeGroup extends Group{ private Circle circle; private Line line; @Override protected void layoutChildren(){ if(circle == null){ circle = new Circle(50,50,30); line = new Line(0,50,100,50); getChi

    relocateはsetLayoutX,setLayoutYの代わりではない - プログラムdeタマゴ
    waman
    waman 2014/10/23
  • JavaFXのChartでMinorTickでも線を描く - プログラムdeタマゴ

    JavaFXのChartって使いにくいなこんちきしょう。グラフ内部のマウス座標とか、全然取れないし 。(グラフ内部というのは、当にグラフの表示領域内部だけでの座標ね。あと、根性で取れるようにしたよ、ちきしょう。Javaのバージョンアップとかで、もしかしたら駄目になるかも。) そんななか、私を丸1日悩ませたのは、MinorTickにおける背景の線を描けないこと。ちょっと特殊な目的でMinorTickでも線が欲しい。(下図参照。通常では線が描画されるのはMajorTickだけ。しかし、MajorTickの数は増やしたくない。) まず、前提条件として、AxisはValueAxisを拡張したクラス(NumberAxis)を利用するとします。また、たぶんどのChartでも同じように出来ると思いますが、今回はLineChartを対象とします。 最初に、MinorTickの線を引くには、MinorTi

    JavaFXのChartでMinorTickでも線を描く - プログラムdeタマゴ
  • JOGL,JOCLのEclipse環境を整える - プログラムdeタマゴ

    2年ぶりぐらいにJOCL書くかーって思って環境整えようとしたら結構手惑いました。私が利用していたのはJogAmpだったので、今回もJogAmpのJOCLを使おうと思ったんですが、なんか、JOGLが結構2年前と変わってますね。櫻庭さんのJOGLの記事とか、今とインターフェースで定義されてるメソッド違うみたいだし、でもあまり日語出てこないしで、一応記事にしておきます。 ダウンロード まずは、必要なファイルをダウンロードしてきます。JogAmpの「Builds / Downloads」の項目にあるCurrentのzipへ進みます。URLが変わっていなかったらこのリンクです。 そこからjogamp-all-platforms.7zをダウンロードします。同様にURLが変わっていなかったらこのリンクです。 ダウンロードしたファイルを適当なディレクトリに展開しておきましょう。私はJavaのライブラリは

    JOGL,JOCLのEclipse環境を整える - プログラムdeタマゴ
  • JavaFXでのダイアログ作成 - プログラムdeタマゴ

    だいぶJavaFXが分かってきたので、ちょいとまとめ。 JavaFXでダイアログ表示するのって面倒くさいな〜って思って、自分で使う分には簡単に作れるようなAPIを整えていました。単にダイアログって言っても、ウィンドウ形式でポップアップするダイアログの他に、モダンブラウザで実装されているJavaScriptのalertがウィンドウ内部だけで表示されるタイプのダイアログなどがあります。その違いをなるべく気にしないでいいように実装してみました。全部のソースコードはGithubにおいています。https://github.com/nodamushi/NodamushiJFXUtilities 言葉よりも図を示した方が良いですね↓ 左はウィンドウ形式のダイアログ、右はインナーウィンドウ形式のダイアログです。 ウィンドウ形式はStageを、インナーウィンドウ形式は渡されたStackPaneの一番上に表

    JavaFXでのダイアログ作成 - プログラムdeタマゴ
    waman
    waman 2013/09/10
  • TeXをHTMLに変換するツールを作ってます - プログラムdeタマゴ

    そろそろ、このブログの記事を整理するためにホームページでも作ろうかと思ったのですが、やたら数式とソースコード多いこのブログの記事を管理するのは骨が折れそうだ。というかやりたくない。 できれば、TeXで全部管理できればな〜。 そんなことを思って、数秒ほどTeXHTMLを作成する物を探したのですが、pdfを経由してたり、ダイレクトにHTMLのDOMを操作して、DOMを結果として出力するようなTeXはなさそうでした。 ので、作りました。(作っています) なんか、最初に思ってたより結構頑張って作ったので、一般公開してみることにしました。かなり多くの機能をマクロで実装してあります。 まだまだホームページ作る為の機能はできあがっていないけど、下のような数式のMathMLを出力することは出来ます。 デモ&解説ページ GitHub デモページ設置する為に一時的に忍者ツールズをお借りしました。ホームページ

    TeXをHTMLに変換するツールを作ってます - プログラムdeタマゴ
    waman
    waman 2013/03/10
  • JavaFX練習3:アニメーションとか - プログラムdeタマゴ

    前回の続きで今日はアニメーションについて練習しました。あと、SceneはSwingのContentPane相当だということを理解しました。 しかし、あれだね。JavaFXで3Dが使えるようになると言うことで、今のうちに覚えておこうとやっているんだけど、やっぱりJavaFXって好かんわ。もちろん、Swingよりずっと勝ってるところがあるのはわかるんだよ。でもね、気持ち悪いんだ。 一番気持ち悪いのはNodeのサイズをいったい誰がどうやって計算してるのかさっぱりわからんこと。prefWidthやらmaxWidthやらminWidthやらはあっても、全部値が-1だったりして、おま、どうやって大きさ決めてんねん。意味わからんわ。だから、初心者の私には挙動がさっぱりわからん。どこをどう設定したら自分の目的とする大きさに設定できるのかがわからん。あと、レンダリングがいったい誰がいつどうやってやってんのか

    JavaFX練習3:アニメーションとか - プログラムdeタマゴ
    waman
    waman 2013/02/09
  • JavaFXの練習2:Controllerとか - プログラムdeタマゴ

    というわけで、今回もJavaFXの練習した内容です。 今回は以下のような感じのパネルを作ってみようとしております。 画像と、ファイル名と、ファイルの説明を表示して、ボタンをクリックするとファイル名と説明部分がスライドアウトしたりスライドインしたりするようなものです。かっくいいね。このスライドイン、アウトをどうすればいいのかにえらい四苦八苦しました。。。 今回はJava言語を利用する必要があるので、Eclipseでプロジェクトを作成します。先に空っぽのtest.cssと表示する画像のサンプルをプロジェクトフォルダに入れておきました。 JavaFXの開発をするにはjfrt.jarが必要ですので、jre/libの下にあるjfxrt.jarをビルドパスに追加しておきます。 ビルダーを起動して、とりあえず空っぽのまま、fxmlをEclipseのプロジェクト上に保存しておきます。 さて、準備完了したの

    JavaFXの練習2:Controllerとか - プログラムdeタマゴ
    waman
    waman 2013/02/08
  • JavaFX2の練習1 - プログラムdeタマゴ

    JavaFX2のCSS意味わかんない。そもそも、そんなCSS得意でもないのに、普通のHTML用のCSSともなーんか全然違ってマジブッコロ。JavaFXCSSのページまじ意味わからねーし。それぐらいならSwingでゴリるわ。とか思ってたのでJavaFX2手を出していませんでしたが、日語記事は全然見つけられなかったけど、英語記事だとわかりやすいのがいくつか見つかってきたので色々試したことを雑記していこうと思います。たまったらそのうちまとめる。 ラベルで簡単なCSSの練習 JavaFX Scene Builderを使ってCSSの記述の練習をしていこうと思います。 今日はフォントの設定と、背景と、ラベルの画像の指定について。 まずは、とりあえず、Labelを貼り付けます。StyleClassの項目の[+]を押して、testclassという名前のクラスを追加しておきました。 次に、デスクトップに

    JavaFX2の練習1 - プログラムdeタマゴ
  • Javaで始める画像処理ーフィルタをかける - プログラムdeタマゴ

    もうすでに何度もこのブログでは当たり前の様にフィルタ処理〜とかたたみ込み〜とか言っていますが、今後の記事の内容のために、ささっとまとめておきます。 フィルタをかける フィルタをかける操作って言うのは、「フィルタの値×ピクセルの値」を各フィルタの値に対して計算して、それらを足し合わせます。これを全ての画素についてやっていくのです。言葉だとなんだかよくわかりませんから、画像で説明します。 下の画像で、青いピクセルに、3×3の大きさのフィルタをかける時を考えます。この時フィルタをかけた後の青いピクセルの値は「a×紫+b×緑+c×赤+....」と計算されます。 端はどうするの? 上の図で言うと、青いピクセル以外のピクセルだと、フィルタをかけるためのピクセルが足りません。この時は「処理しない (元の画素の値をそのまま結果とする)」か「画素の値を補間する」か、「フィルタのサイズを適宜変更する」の中のど

    Javaで始める画像処理ーフィルタをかける - プログラムdeタマゴ
    waman
    waman 2012/08/13
  • これは楽しい!簡単にマーブリングが作れるアルゴリズム - プログラムdeタマゴ

    ちょっとタイトルを盛ってみた。というわけで、前々から一度実装してみたかったマーブリングのシミュレーションアルゴリズムを昨日一日楽しんだのでここで紹介します。 マーブリングってのは、皆さん(たぶん)ご存じの、水面にマーブリング用の絵具を垂らして、それを棒でかき混ぜたりして模様を作って、紙に転写するあれです。誰でも簡単に美しい模様ができる表現技法マーブリング マーブリングの画像を見て貰うと分かりますが、マーブリングでできる模様ってのは、色と色の境界がほとんどぼけてない、シャープな模様ができるんですよね。寺町美術教室 >> マーブリングに掲載されてる画像などが良い例だと思います。 これを流体計算で再現するのは大変なんです。あ、私はこの一年流体計算について研究してきたので、そのうちどがっと流体計算についての記事を書きます。まぁ、それはよしとして、流体計算ってのは多くの場合1種類の流体の計算で、やっ

  • Java画像処理をはじめよう。初めての画像処理(・∀・) - プログラムdeタマゴ

    というわけで、なんでか知らんけどJavaで画像を弄らんといけなくなった。手っ取り早く画像処理をしてみたい。そんな人のために書くことにしたよ。 一応シリーズにするつもり。もちろん、気が向いたときにしか更新しないけど。最終的にどこまで踏み込んだ内容まで行くのかわかんないけど、最初っからいつもみたいな意味不明な文章で飛ばしたりするようなことはしないよ。 こういう初歩的な内容って、頭使わなくていいから、私の精神安定剤になるのだよ………wスウチカイセキモウイヤダ 語尾の「よ」はそろそろやめるお。 ・内容 Java2Dを使わずに、直接ピクセルデータを弄って画像を処理する。 ・対象 Javaが読めればOK 色について 色について簡単なお話をしましょう。 モニタで扱う色はRGB形式といって、赤と緑と青の光を加法混色することで色を作っています。ただ単にRGBといってもsRGBやAdobeRGBといった種類が

    Java画像処理をはじめよう。初めての画像処理(・∀・) - プログラムdeタマゴ
    waman
    waman 2011/10/13
  • Javaで筆圧取得してみよう。集まれJPanJPenユーザー - プログラムdeタマゴ

    Javaで筆圧取得といえばJTabletである。文句は受け付けない。 特に日ではほぼJTabletが主流だ。日製のJavaペイントソフトのしぃペインターやたかみんがJTabletに対応していることが大きな理由だろう。 もっとも、これらで用いられたのは、一般人が簡単にappletで利用出来るようにインストーラーがついているからであり、その面倒見のよさ、簡単に扱えるAPIなどJTabletが一級品であることに疑いの余地はない。 さぁ、みんなレッツJTablet!といいたいところだが、JTabletはさすがにもう古いAPIだけあって、APIから取得できる情報が少ない。 というわけで、JTabletの後継バージョンJTablet2を使うことを推めたい。JTablet2は非常に良いライブラリーである。まず、管理すべき事、知るべき事が非常に少ない。実によい。さらに、Swingの様にイベントリスナ型

    Javaで筆圧取得してみよう。集まれJPanJPenユーザー - プログラムdeタマゴ
    waman
    waman 2011/09/28
    『Javaで筆圧取得といえばJTabletである。文句は受け付けない。』・・・『JTabletの後継バージョンJTablet2を使うことを推めたい。』
  • 画像の縮小処理におけるエイリアスの発生とそれを抑える仕組み - プログラムdeタマゴ

    OpenGL+GLSLによる画像処理プログラミング―「OpenGL」と「シェーダ言語」で「レタッチ・ソフト」の仕組みを知る! (I・O BOOKS) 作者: 酒井幸市出版社/メーカー: 工学社発売日: 2009/11メディア: 単行購入: 3人 クリック: 10回この商品を含むブログ (6件) を見る OpenGL使って画像処理をしたかったので参考に買ってみた。 「OpenGLとシェーダ言語でレタッチ・ソフトの仕組みを知る!」って書いてあるけど、信号処理について全く知らない人が、よっしゃ画像処理やってみようっていって読めるではない。重要な部分で説明が載ってなかったりする。で、パラパラめくってあぁそうだね、って言う人は、おそらくもうこれに載っている程度のことは大体知ってるだろう。 それにしても、第二章にある縮小の項目は流石に説明がなさ過ぎる気がする。縮小の際のエイリアスについて言及しなが

    waman
    waman 2011/09/02