-->

Java

javafx.scene.media.AudioClipってのがあってそれを使う。
こんな感じだ。

                    AudioClip clip = new AudioClip(getClass().getResource("warning1.mp3").toString());
                    clip.play();

このエントリーをはてなブックマークに追加

Javaには、ZIPファイルを操作するクラスが用意されているんでそれを使えば楽ちんに操作ができる。

続きを読む
このエントリーをはてなブックマークに追加

まー、書くほどのことでもないんだが、単純にメニューバーがあるJavaFXのアプリをmacOSで動かすとこんな感じになる。

001

Macだと、こうなってほしいんだが。

002

これは、MenuBarのsetUseSystemMenuBar(true)を呼べばいい感じになるw


このエントリーをはてなブックマークに追加

50

感じで、HBoxにButton1とButton2を入れてある状態。こんなで、Button1を非表示(setVisible(false)をする)にすると、こんな感じになる。

54
 

こんな場合、Button2は左によってほしいんだけど・・・
で、Button1をsetManaged(false)するとめでたく左による。

22

(追記)
ちょっと、書き方が不十分なようなきがしたので追記だ。
setManage(false)のところでsetVisible(false)も行わないといけない。


このエントリーをはてなブックマークに追加

SQLiteを使うには、まず、ここ(https://bitbucket.org/xerial/sqlite-jdbc)からSQLiteのJDBCをダウンロードする。これをプロジェクトに追加してやるとJDBC経由でSQLiteが使えるようになる。
このjarファイルには、ネイティヴコードの共有ライブラリも含まれているので、そのまんま使える。sqlite-jdbc-3.8.11.2.jarでざっくり調べてみたら、Windows10(x64)、Mac(OS X El Capitan)、Android 5.1(ARM)、6.0(x86)で動くのを確認した。AndroidのエミュレータGenymotionのAndroid6.0とSDKのエミュレータでAndroid7.0(ARM64)では動かなかった。

ちょっとしたサンプルを。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class SQLiteTest {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        Class.forName("org.sqlite.JDBC");
        Connection conn = DriverManager.getConnection("jdbc:sqlite:c:\\tmp\\test.db");
        
        // テーブルを作る
        Statement stmt = conn.createStatement();
        String sql =  "CREATE TABLE IF NOT EXISTS "
                + "test(id INTEGER PRIMARY KEY, name TEXT)";
        stmt.execute(sql);
        stmt.close();
        
        // データを登録
        sql =  "INSERT INTO test(id, name) VALUES(?, ?)";
        PreparedStatement preStmt = conn.prepareStatement(sql);
        for(int i = 0; i < 10; i++) {
            int j = 1;
            preStmt.setInt(j++, i);
            preStmt.setString(j++, "hoge" + i);
            preStmt.execute();            
        }
        preStmt.close();

        // 検索
        sql =  "SELECT * FROM test";
        stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery(sql);
        while(rs.next()) {
            System.out.println(rs.getInt("id") + ", " + rs.getString("name"));
        }
        rs.close();
        stmt.close();
        
        conn.close();
    }
}


このエントリーをはてなブックマークに追加

↑このページのトップヘ