Java
JavaでGUIアプリケーション作っていていろいろ思い出してきた…気がする。簡易的なTodoリストみたいなものを作っているが保存形式どうしようと思ってJAXB使おうと思ったがそういえばデフォルトのままだと使えなくなってたんだ!ってなった。とりあえずXML形式…
今日は早起きしたのでSplatoon3を軽くやった後、プログラミングしていた。とはいってもほぼリファクタリングで終わったが。完全に自分用でありそんなに作りこむことも想定していないためコメントが全然無いが、今日中にコメント追加してもいいかもな。いざと…
JavaのSwing使ってToDoリストを作っていこうかと。まぁ、今は1日の予定を入れていく感じを想定しているけどいろいろ仕様は変わってくるかもしれない。久しぶりにGridBagLayout使ったけどやはりめんどくさいですな!ボタンはBoxLayoutで水平方向に配置して、B…
以前、Javaでレイトレースして三角形を表示できるようにしていたので、MQOファイルを読み込んで頂点座標や面情報を取得して3Dモデルを描画できるように頑張っている。ブランクがありすぎていろいろミスしているがなんとかなりそう。
テクスチャやらなんやら貼ればこれで勝てる(何に?
いずれはフォトンマッピングとかやってみたい
ファイルがドロップされたときの処理でStream APIを使ってみた。filterでinstanceof使ってるけどこれFile以外のときあるのかな?まぁ、いいや。あとソースコードにコメントが一切ないのでコメント追加していきたい。 var list = (List)transferable.getTrans…
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…
Swing使ってファイラーらしきものを作ってみる。JTableと手抜きTableCellRendererを使ってファイル一覧を表示する。JTableがダブルクリックされ、クリックされたファイルがディレクトリならそのディレクトリに入っているファイル一覧を表示する。ファイルな…
しばらくプログラミングしていないので軽くプログラミングしてみた。 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ですが、初期化や列挙がめんどくさかったりしましたがだいぶ変わってきたなという印象です。ただ、初期化用の構文ができたとかそういうわけではないけど、javadoc見ていたらいろいろ加わったんだなと思った。列挙に関しては以前…
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 …
現在以下のような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>
まぁ、何か作ってますよ程度のもの。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…
なんかいろいろおかしくなってるので要素名を修正するつもりだが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>
MIDI用のクラスを作り、JAXB使ってXMLで出力… わりと適当 <MidiMusic> <Tracks> <Track program="0"> <NoteList> <Note Length="0" Note="48" Start="0" Velocity="100"/> </NoteList> </Track> </Tracks> </MidiMusic>
前回のソースコードではJava8なのにSimpleDateFormatが使われていた! JavaFXでファイルマネージャー編 その8 ファイルビューのソースコード - マイペースなプログラミング日記ので今回はLocalDateTimeやDateTimeFormatterを使うように修正した。修正前 priv…
書くことが無いから適当にソースコードを貼っておく。TableViewを継承したファイルの名前やサイズなどを表示するテーブル用のクラス。Fileの最終更新時間などを取得してLocalDateTimeやDateTimeFormatterに持っていくにはDateを経由すればいいんだろうか?と…
久しぶりにソースコードを載せてみる。とりあえずTableViewに対してデスクトップなどからファイルのドラッグ&ドロップされたときの処理。今はドロップされたファイルの名前が標準出力に行くだけです table.setOnDragOver(event -> { if(event.getGestureSour…