JTable クラスを使ったテーブルの作成方法です。テーブルは Excel などのように表形式でデータを表示するのに使用します。行と列の数を指定してテーブルを作成しますが、あとから行や列を変更することができます。ここでは Java Swing でテーブルを作成する方法について解説します。
Locale クラスについて Locale (Java Platform SE 8) Locale (Java Platform SE 7) Java の Locale クラスは、language と region のペアを表します。 Locale オブジェクトを元に、数値の表示フォーマット (NumberFormat) や、文言リソース (ResourceBundle) オブジェクトを取得することで i18n 対応のアプリを開発できます。 下記は、Locale クラスのコンストラクタのバリエーションです。 Locale(String language) Locale(String language, String country) Locale(String language, String country, String variant) 最後のオーバーロードバージョンでは、langu
Tip: ただ何かのプログラムが非ASCII文字を正しく処理しないという危惧だけでコードを読みにくくしてはならない。もしそのような事が起こる場合はそのプログラムが 壊れている のであってそちらが 修正 されるべきである。 3 ソースファイル構造 ソースファイルの内容は 以下の順序 であること。 1. ライセンスあるいはコピーライトの情報(もしあるならば) 2. package文 3. import文 4. ただ1個のトップレベルクラス。 ソースに書かれている内容それぞれの分離には ただ1行の空行 を使うこと。 3.1 ライセンスあるいはコピーライトの情報(もしあるならば) もしファイルにライセンスあるいはコピーライトの情報があるならばここに入る。 3.2 パッケージ文 パッケージ文は 改行してはならない。 文字数制限(4.4節 文字数制限は100文字 )はパッケージ文には適用されない。 3
Java でシステムプロパティの扱い方についてまとめました。 システムプロパティの取得方法 Java の実行時に設定されるシステムプロパティーからは、プロジェクトのカレントディレクトリや改行文字、OSの名前やバージョンなどの情報が取得できます。システムプロパティにデフォルトでセットされる値については System.getProperties (Java Platform SE 8) を参照してください。 メソッド 機能 System.getProperties() 全てのプロパティを取得。 System.getProperty("key") 指定されたキーのプロパティを取得。 System.getProperty("key", "default") 指定されたキーのプロパティを取得。無ければデフォルト値。 実際にプロパティ値を確認したい場合はSystem.getProperties()で
JAR ファイルの仕様 目次 はじめに META-INF ディレクトリ 名前-値ペアおよびセクション JAR マニフェスト 概要 マニフェストの仕様 メイン属性 エントリ別属性 署名付き JAR ファイル 概要 署名ファイル 署名の検証 Magic 属性 デジタル署名 マニフェストおよび署名ファイルについて JAR インデックス 概要 インデックスファイルの仕様 下位互換性 サービスプロバイダ 概要 プロバイダ構成ファイル 例 API の詳細 関連項目 はじめに JAR ファイルは普及している ZIP ファイル形式に基づくファイル形式で、多数のファイルを 1 つにまとめるために使用されます。JAR ファイルは実質的には、オプションとして META-INF ディレクトリを含むことのある、 ZIP ファイルです。JAR ファイルは、コマンド行 jar ツールを使うか、Java プラットフォーム
今では、開発の様々なシーンでオープンソースのライブラリを使うことが多くなってきています。 そんなライブラリを使用する際に、想定しない動きをしたり、うまく動かないんだけど、中で何が行われているかわかりにくいこと、ありますよね。 自分で作成したクラスやアプリならEclipseのデバッグ機能を使えば、変数に何が入っているかなどを逐次実行できますが、オープンソースのスタンド・アロンアプリやWebサーバ上のWebアプリだと、そうは行きません。 そんなときに役立つTipsをご紹介します。 Eclipseで実行できないなら、実行中のJVMにつないで覗いてみる その方法は、JVMに、リモートから接続してデバッグするというものです。 Javaのアプリやサーバはバーチャルマシン(JVM)上で実行されているというのはご存知ですよね。JVMにはもともと、デバッグ機能を外部に公開する仕様が備わっており、それを利用す
今回はExcelファイル読み込みをやります。環境構築はExcel出力を参照して下さい。 簡単な読み込みサンプル POI 4 以降 package test; import java.text.SimpleDateFormat; import java.util.Date; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.DateUtil; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; impor
POI便利っすよねー。 Excelデータの操作をJavaで行うなら必需品です。 だがしかーし!使えない時もある! POIが悪いんじゃない。使うなという企業が悪い。 開発環境に"自由"にライブラリを設置できない場合、ネイティブでやるっきゃない。 "自由"とは責任をもってやること ターゲットをxlsx形式のみにしたら比較的容易にできる。 Office Open XMLなのでDOM解析すれば良い。 手順は下記の通り。 xlsxファイルをZipInputStreamで読む sheetN.xmlとsharedString.xmlを解析して該当セルと中の値をマッチさせる(vタグ内の数値が何番目のsiタグの値かを指す) 以上。 下記サイトでとても綺麗に纏めてくださってる。 Excel XLSX Parser | Chris' Creative Musings ここで読み込めるのは固定値として設定してる値
OrangeSignal CSV とは OrangeSignal CSV は CSV 入出力操作を簡易化させる高機能で便利な Java プラットフォーム向けの CSV ライブラリを提供します。 OrangeSignal CSV はパワフルであらゆるシチュエーションにマッチ可能な OSS (オープンソース・ソフトウェア) の CSV ライブラリです。 機能・特徴 区切り文字、囲み文字、エスケープ文字など CSV 形式を詳細に設定可能 (CsvConfig) 区切り文字、囲み文字、エスケープ文字やその他もろもろの CSV 形式に関する設定が可能です。 設定可能な項目は以下の通りです。 区切り文字 囲み文字 (無効化も可) エスケープ文字 (無効化も可) 項目値内の改行置換文字列 NULL 文字列 (大文字・小文字を区別する/しないの指定も可) 項目値前のホワイトスペースを除去 項目値後ろのホワ
内部クラスの記述方法 内部クラスにおける条件 メンバークラス、ローカルクラス、匿名クラスにおいて以下のような制約があります。 staticメンバーを持つことができない。 外部クラスと同名のクラスは定義できない。 コンパイル方法 定義された内部クラスは外部クラスのコンパイルと連動しているといえます。 つまり外部クラスをコンパイルすれば自動的に内部クラスもコンパイルされます。 また、クラスファイルは以下のようになります。 外部クラス・・・・・・・・・ 外部クラス名.class 内部クラス・・・・・・・・・ 外部クラス名$内部クラス名.class ページのトップへ戻る
JDK11 ea18から、javacしないでもJavaファイルを実行できるようになりました。 あと、Windowsバイナリはzipファイルで提供されるようになっています。tarコマンドが提供されたとはいえ、エクスプローラーから解凍できるzipファイルになるのは ありがたい。 JDK 11 Early-Access Builds JEP330が取り込まれたことにより、ソースファイルがひとつのJavaプログラムは、javac不要でjavaコマンドで実行できるようになります。 JEP 330: Launch Single-File Source-Code Programs Windowsのコマンドプロンプトだと こんな感じ。 C:\Users\naoki\java>more Hello.java public class Main { public static void main(String
新元号対応はNewEraという仮の元号で対応が進んでいるので、試してみました。 おそらく、実用では使えない場面がある仕様になっています。 なので、元号対応が必要そうな人は、早めに試して声をあげる必要があると思います。 ビルドする ※ 2018/6/16追記 ea18が出ているのでそのまま試せます Masterブランチに取り込まれているので、明日あたりにでてくるea18で使えるようになると思いますが、いまは自分でビルドする必要があります。 ビルドについては、こちらを参考にしてください。ここに書いてるのとは違って、リポジトリはhttp://hg.openjdk.java.net/jdk/jdkです。 http://d.hatena.ne.jp/nowokay/20171104#1509753358 使ってみる JShellで使ってみます。 jdk $build/macosx-x86_64-no
JavaでJavaScriptを実行する「Nashorn」が非推奨に、ECMAScriptの速い進化に追いつけないと。代替案はGraalVM JavaでJavaScriptエンジンを実装し、JavaVM上でJavaScriptを実行可能にする機能「Nashorn」は、JDK 8で新たに搭載された機能でしたが、2018年5月8日付けで登録された「JEP 335: Deprecate the Nashorn JavaScript Engine」で非推奨(depricated)となり、将来的には廃止されることになりそうです。 JavaVM上でJavaScriptを実行する機能としては、Nashorn登場以前からMozillaが開発したオープンソースのRhinoが存在しており、Java 6からサポートされていました。 NashorhはこのRhinoを置き換える形でオラクルが開発を始め、ECMASc
日本オラクルが今後のJavaのリリースモデルと公式バイナリについてあらためてJava Day Tokyoで説明。オラクルによる公式バイナリの無償提供はOpenJDKベース 日本オラクルは5月18日に都内でイベント「Java Day Tokyo 2018」を開催。午後に行われたセッション「Java SE の新しいリリースモデル」で、あらためて今後のJavaのリリースモデルと配布について説明を行いました。 説明の基本的な内容は、以前の記事「来月にはJava 10が登場し、9月にはJava 11が登場予定。新しいリリースモデルを採用した今後のJava、入手方法やサポート期間はこう変わる(OpenJDKに関する追記あり) - Publickey」と変わっていません。 本記事はセッションの内容を基に、現時点でのステータスをあらためて確認するものです。 Javaは6カ月ごとのタイムベースのリリースへ
オラクル、JavaやJavaScript、Ruby、Pythonなど多言語対応を単一ランタイムで実現する「GraalVM」をオープンソースで公開。Twitterが本番環境で採用 JavaやJavaScriptなどには、それぞれその言語を実行するためのランタイムが存在します。JavaならJavaVM、JavaScriptならJavaScriptエンジンといった具合です。 米オラクルがオープンソースで公開した「GraalVM」は、これまで言語ごとに個別に用意されていたランタイムを統合し、単一の高性能なVMにするという同社の研究の結果開発された汎用仮想マシンあるいは汎用ランタイムです(米オラクルのブログ、日本語訳)。 GraalVMのWebサイトには、次のような説明が記されています。 GraalVM is a universal virtual machine for running appli
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 内容 以下記載のURLを参考にロードマップをJavaバージョンにしてみた。 初心者から立派なJava エンジニアになる方への学習の道しるべになれば。 また自分自身すべてできるわけではないので、できるようにするためのメモ書きとして。 (ただ以下をなんとなく理解するだけで2,3年以上かかった。。。) 参考 ※ 会社の同期から基本文法についてレベル別記載のアドバイスをいただいたので修正(2018/4/9) ロードマップ 学習方法 1.Hello World どのプログラミング言語でもそうですが、まずは動かし方を学びましょう。 ゲシュタルト崩壊
Java 10が本日付で正式リリース。ローカル変数の型推論、ガベージコレクタが入れ替え可能、不揮発性メモリ対応など。Java 9は早くもサポート期間終了 昨年9月に登場したJava 9から、Javaは6カ月ごとのタイムベースによるアップデートサイクルが採用されました。そしてその最初のワンサイクルが経過し、今日3月20日付けでJava 9の次のメジャーバージョンアップとなるJava 10が登場する予定です。 おそらくJava 10の正式な発表は米国時間の3月20日、日本時間では休日となる明日の午前中あたりになると思われます。 Java 10の新機能:ローカル変数の型推論、ガベージコレクタが入れ替え可能など Java 9では、通称「Project Jigsaw」と呼ばれるJavaのモジュール化機能が入り、Javaに対する大きな変更が行われました。しかし今回のJava 10では、それほど大きな機
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く