投稿

ラベル(ObjectMapper)が付いた投稿を表示しています

Windowsで動くパスワード管理ツールをJavaFXで作る

イメージ
Windows上のGUIで動作するパスワード管理ツールを作成しました。 まずは必要最低限の機能を持たせました。 パスワード名称の一覧表示 絞り込み機能 クリップボードへコピー 経緯について コロナ過に入ってからずっとリモートワークが続き、Slack等で画面を共有しながら作業することがよくあります。 その際にパスワードをメモからコピーするときにさらけ出してしまうのを防ぎたかったからです。 2画面以上のマルチディスプレイであれば共有していないほうのディスプレイでコピーすれば済むんですが、1画面のためそうはいかず... またWindowsのアプリケーションでも探してみましたが、有償であったり会員登録が必要であったりと、これといったものが無かったのでJavaFxの勉強がてらに作ってみました。 環境 Windows10 vscode JDK11 プロジェクト作成 vscodeを開き「Ctrl+Shift+P」で「Java:Create Java Project...」を選択 Project type に No build tools を選択 Project を作成する親フォルダを選択 ここでは C:¥workspace を選択 Project名を入力 以下のような構成でプロジェクトが作成される 実行は右上の > ボタン Terminalに「Hello, World!」が出力されればひとまずOK ライブラリ JavaFX SDKダウンロード JavaでGUIを実装するためのフレームワークです。 Windows版のSDKをダウンロードします。 https://gluonhq.com/products/javafx/ ダウンロード後解凍し、任意のディレクトリに配置します。 ここでは C:\workspace\password-manager-test\lib\javafx へ配置しました。 JavaFX SDKインポート vscodeのエクスプローラーから、Java Projectを開く

【Java】ObjectMapperでJSONデータを変数に取り込む

ObjectMapperを使えばどんな型のjsonデータであっても変数に取り込んだり、またオブジェクトからjsonを出力したりすることができます。 過去に紹介した JSONObjectを使う方法 より全然楽です。 連想配列のJSON JSONデータ JSONデータは以下を使用します。 { "member_id":"1, "name":"Taro", "age":30, "address":"Tokyo" } JSONデータのParse処理 package com.example; import java.util.Map; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; public class App { public static void main(String[] args) { String json = "{\"member_id\":1,\"name\":\"Taro\",\"age\":30,\"address\":\"Tokyo\"}"; try { Map<String, Object> map = new ObjectMapper().readValue( json, new TypeReference<Map<String, Object>>() { }); for(Map.Entry<String, Object> entry : map.entrySet()){ System.out.printl