マイペースなプログラミング日記

DTMやプログラミングにお熱なd-kamiがマイペースに書くブログ

Java

レイトレで三角形を描画した

テクスチャやらなんやら貼ればこれで勝てる(何に?

Javaでレイトレしてます

いずれはフォトンマッピングとかやってみたい

Stream APIも使ってみる

ファイルがドロップされたときの処理でStream APIを使ってみた。filterでinstanceof使ってるけどこれFile以外のときあるのかな?まぁ、いいや。あとソースコードにコメントが一切ないのでコメント追加していきたい。 var list = (List)transferable.getTrans…

ファイルが1つしかないが大丈夫か?

1つのファイルだけでプログラミングしているが大丈夫か?になってきたのでそろそろ分割を考える。 あとはRowSorterを使ってみようかと思ったけど挙動がよくわからなかったのでJTableHeader(というかTableCellRenderer)を自前で用意してごにょごにょしてみよ…

すっきりさせる

TableCellRendererの設定部分が長くなってきたのでメソッドをわけてみた。 JLabelの背景設定部分が共通だし、他にもJLabelの設定が増えるかもしれないので、それ用のメソッドを作っておこう。 だいぶプログラミング力が落ちていると実感しながら作っている p…

ついでに

ファイル一覧でディレクトリが下の方に表示されていたりしたのでディレクトリが上に来るようにArrays.sortで並べ替えてみた。 Arrays.sort(this.children, (f1, f2) -> { if(f1.isDirectory() && !f2.isDirectory()){ return -1; }else if(!f1.isDirectory()…

修正や機能追加

前回のエントリで指摘されたJTableを継承させる意味が無い問題を修正しJTableは継承せずに普通にnewした。あとはJTabbedPaneでタブを追加しフォルダをミドルクリックされたときに新規タブでファイル一覧を表示するようにした。 import java.awt.Color; impor…

Javaでファイラーらしきものを作ってみる

Swing使ってファイラーらしきものを作ってみる。JTableと手抜きTableCellRendererを使ってファイル一覧を表示する。JTableがダブルクリックされ、クリックされたファイルがディレクトリならそのディレクトリに入っているファイル一覧を表示する。ファイルな…

たまにはJavaしてみる

しばらくプログラミングしていないので軽くプログラミングしてみた。 https://d-kami.hatenablog.com/feed のXMLをXPath使って記事一覧を取得するプログラムを作った。例外処理はmainでException投げる酷い処理です(だってXPath関連の例外が多すぎるんだもん…

自己満足なテキストエディタ

JavaのSwingを使って自己満足なテキストエディタを作っています。Javaのソースコードの編集機能の充実やエディタから手軽にコンパイル&実行ができたらいいなと思いながら自己満足エディタを作っています。行番号が微妙にずれているので修正しないとね

ドット絵エディタ ちょっとずつ変化しているけど

少しずつプログラムは変化しているけどまだこれといった大きな変化はない。それなりにドット絵は作れるのでドット絵の練習をした方がよさそう

いろいろやっています

JavaでMIDI関係も弄ってます。Java8からラムダ式導入の流れでActionListenerとかわりと楽に書けるようになったけどSwingのRendererあたりはそれ以上に簡略化の恩恵を受けているので非常に楽になった。ただMouseListenerはなんとかならんのか… package net.d_…

ドット絵エディタの最低限の機能は実装したかな?

レイヤーとカラーパレットで色を作ったり2つの色を選んでグラデーション作ったりできるようになって、あとは細かい機能や見た目や操作性を整えたい。あとは当初の目的であったドット絵描きましょうねって話です

ドット絵エディタスクリーンショット

進捗アピールのためにとりあえずドット絵エディタのスクリーンショットを貼っておきます。レイヤーをわけのチェックをしていますが、そのうちドット絵を自分で描くときに使う(使わない可能性もある

ドット絵エディタの進捗

以下の機能が追加された模様 ポップアップで全体図を表示 レイヤー機能のちょっと修正 行数的には1600あたり

ドット絵エディタ進捗

ドット絵エディタにレイヤー機能を追加した。現時点での全体の行数は1500行ぐらいで自分で編集しているJavaファイルの数は14だった。自分で思ってるより3倍ぐらいの行数で思ったよりプログラムを書いているのかもしれない。 行数だけでプログラムの規模を判…

進捗ありません!

進捗あるかどうかと聞かれたら無いと答えるけど地味にあるのかもしれない。久しぶりにプログラミングしてました。ドット絵エディタを進めてたけど見た目的な変化はほぼない模様。ツールバー(?)のアイコンはこのエディタで作ったやつです

JavaのMapの初期化と列挙

Javaの連想配列的な存在のMapですが、初期化や列挙がめんどくさかったりしましたがだいぶ変わってきたなという印象です。ただ、初期化用の構文ができたとかそういうわけではないけど、javadoc見ていたらいろいろ加わったんだなと思った。列挙に関しては以前…

Java 12入れた

JavaFXが標準SDKにはいってないとかどーとかなので気にせずSwing使っていきます import java.util.List; import java.util.ArrayList; import java.util.stream.Stream; import javax.sound.sampled.Mixer; import javax.sound.sampled.AudioSystem; import …

とりあえずJavaでMIDI編 その1

現在以下のようなXMLを読み込ませるとピアノがドレミファソラシドと8分で鳴らし、ベースはドを8分で鳴らし続け、ドラムは8ビートの基本的なパターンでバスドラムとスネアのみが鳴る。適当にSMF形式のファイル読み込めるようにして鳴らしてみようかな <MidiMusic> <Tracks> <Track number="1" program="0"> <NoteList> <Note pitch="60" position="0" type="144" velocity="100"/> </note></notelist></track></tracks></midimusic>

エントリ数を稼ぐためにソースコードを貼り付けるd-kami

まぁ、何か作ってますよ程度のもの。Java FXとJava Sound APIを使って遊んでるだけです import javafx.stage.Stage; import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.B…

何となくMIDI

なんかいろいろおかしくなってるので要素名を修正するつもりだがJAXBで出力したXML。これを読み込んでJavaで鳴らしている。現在ベースとドラムが鳴っている模様 <MidiMusic> <Tracks> <Track number="0" program="34"> <NoteList> <Note Note="34" Position="0" Type="144" Velocity="100"/> </note></notelist></track></tracks></midimusic>

何度目かのJAXB

MIDI用のクラスを作り、JAXB使ってXMLで出力… わりと適当 <MidiMusic> <Tracks> <Track program="0"> <NoteList> <Note Length="0" Note="48" Start="0" Velocity="100"/> </NoteList> </Track> </Tracks> </MidiMusic>

JavaFXでファイルマネージャー編 その9 ファイルビューのソースコードの修正

前回のソースコードではJava8なのにSimpleDateFormatが使われていた! JavaFXでファイルマネージャー編 その8 ファイルビューのソースコード - マイペースなプログラミング日記ので今回はLocalDateTimeやDateTimeFormatterを使うように修正した。修正前 priv…

JavaFXでファイルマネージャー編 その8 ファイルビューのソースコード

書くことが無いから適当にソースコードを貼っておく。TableViewを継承したファイルの名前やサイズなどを表示するテーブル用のクラス。Fileの最終更新時間などを取得してLocalDateTimeやDateTimeFormatterに持っていくにはDateを経由すればいいんだろうか?と…

JavaFXでファイルマネージャー編 その7 ファイルのドラッグ&ドロップ

久しぶりにソースコードを載せてみる。とりあえずTableViewに対してデスクトップなどからファイルのドラッグ&ドロップされたときの処理。今はドロップされたファイルの名前が標準出力に行くだけです table.setOnDragOver(event -> { if(event.getGestureSour…

JavaFXでファイルマネージャー編 その6 画像をポップアップ表示

はい、Popup使って見ましたが…現在のところ最前面にでてしまいます。他のアプリケーションのウインドウさえかくしてしまう…とりあえず表示されているイラストはマスもふさんのイラストです

JavaFXでファイルマネージャー編 その4 関連付けられたアプリケーションを起動して開く

JavaFXじゃなくてAWTのAPIだけどDesktop#openで関連付けられたアプリケーションを起動してファイルを開けるようになりました。アイコンの件でキャッシュを導入してみたけど特定の動作をさせるとSwingNodeのprefWidthでNullPointerExceptionが発生する模様…も…

JavaFXでファイルマネージャー編 その3 とりあえずアイコン設定

TreeViewとTableViewへのアイコン設定が終わった…が実はまだ問題が残っていてupdateItemの中でアイコンを取得して設定してるからスクロールなんかの度にちらつきが…明日の課題です

いろいろ調査

JavaFXのTreeViewやTableViewなどのカスタマイズするために参考になりそうなページ。あとで読む aoe-tk.hatenablog.com あと、これからの予定でSwingが絡んできそうなのでJavaFXとSwingの連携に関して調べていかないと。特にUIスレッド周り。JavaFXアプリケ…