Shoken Startup Blog

KitchHike Founder/CTO

Java

楽天テクノロジーカンファレンス2012に行きました

Rakuten Technology Conference 2012 - 楽天テクノロジーカンファレンス2012に参加してきました。 特徴はなんといってもオールイングリッシュ!まさにこの記事の通りでした。 ~引用~ いつか海外のイベントに参加してみたい、あるいは自分の英語力でどこま…

LiferayとOpenSSOの連携ではまった

LiferayとOpenSSOの連携でながーい時間はまったー! 環境 ・Java 1.6 ・Liferay 5.2.3 ・OpenSSO Enterprise 8.0 LiferayとOpenSSOを必死に同一のJBossインスタンスで動かして、設定してた! 同じだと、うまくいかないということがわかったのは、あらかた設…

MacのEclipseでローカルにあるJavadocからAPIドキュメントを表示する方法

MacのEclipseでローカルのJavadocからAPIドキュメントを表示する方法環境 Mac OS X 10.5.6 Eclipse 3.4.2 Ganymede Windowsならrt.jarのjavadocロケーションを変更するのだけど、 macのJREにはrt.jarがない!結論としては、代わりにclasses.jarのjavadocロケ…

シェルスクリプトでやわらか頭塾

シェルスクリプトというか、CUIでやまらか頭塾。 実装はJavaになりました。 $ block (個数) (段数制限)8個を3段以内で これならなんとかわかるけど、 54個を5段以内で もう、わからんw

JRubyでJavaからRubyを呼ぶ

JRubyでHello World。 JRubyを用いて、JavaからRubyを呼ぶサンプル。 JRubyのサンプルは、Ruby→Javaはたくさんあるけど、Java→Rubyはほとんど無かったので、書いてみた。 import java.util.ArrayList; import org.jruby.Ruby; import org.jruby.javasupport.…

逆行列の計算3x3

Javaで逆行列を求める計算。 3x3の行列のみ。 double [][] invArray(double A[][]) { double det = 0;/Determinant int size = 3; for(int i=0; i

よく使いそうなレイアウト:BoxLayout

javaのレイアウトについてのメモ 下のようなレイアウトができずに悩んだ。 BoxLayoutを使えば、解決できた。 コツは、1枚目のパネル(ボタンがついてるやつ)はFlowLayout、2枚目のパネル(2枚のTextArea)にBoxLayoutのを使うこと。 BoxLayout.Y_AXISで、縦に並…

Ubuntuでjavaの設定

update-alternativesを使ったUbuntuでのjavaの使い分け。 Ubuntuでは、/usr/bin/javaや/usr/bin/javacへのシンボリックリンクは、"/etc/alternatives/"からとなっている。 このシンボリックリンクを変更するには、下記のコマンドを使う。 $sudo update-alter…

Javaで画像作成 JPEG・PNG・GIFで保存

JavaでJPEG・PNG・GIFへencodeして画像として保存する方法 JPEGへエンコード com.sun.image.codec.jpegパッケージを使います。 参考 com.sun.image.codec.jpeg パッケージ*com.sun.image.codec.jpegパッケージはサポートされていないので、Image I/Oクラス…

FileWriterクラス:Windowsでの改行コード

FileWriterクラスを使用してファイルを保存する際のWindowsでの改行コードは"\r\n" FileWriter fw = new FileWriter(text.txt); fw.write("ここで\r\n"); fw.write("改行\r\n"); fw.close();

JTextAreaを編集不可能に

JTextArea tarea = new JTextArea(); tarea.setEditable(false);

C++のnamespaceってなんなのさ?

Javaにプログラミングのいろはを教えてもらった自分ですが、最近バイト先でC++を使わなくちゃならないので、必死に勉強中です。 #includeはimportとほぼ同じと理解したけど、じゃあusing namespaceってなんなのさ? と思っていたのだが、今日やっと解決。 以…

テキストボックスのサイズを変更

JTextField text = new JTextField("sample"); text.setPreferredSize(new Dimension(150, 30));

レイアウトマネージャーを無視して座標指定

JPanel panel = new JPanel(); panel.setLayout(null); JButton btn = new JButton("test"); button.setBounds(10, 10, 100, 50); panel.add(btn);

ダイアログを前面に出す

setAlwaysOnTop メソッドを使う。(SE 5.0から) しかし、setAlwaysOnTop メソッドはJOptionPane クラスにはない。警告ダイアログなどに使うのに、非常に残念。ダイアログを前面に出す方法は、 JFrameを前面に出す Jframe frame = new JFrame(); frame.setAlwa…

ウィンドウを画面の中央に表示

JFrame frame = new JFrame(); frame.setLocationRelativeTo(null);

jarファイルをダブルクリックで起動させる方法(パッケージ付き)

Windowsでjavaアプリをダブルクリックで起動させるために、jarファイルをexeファイルへ。 パッケージ無しならできたのだが、パッケージ内のファイルの扱いに困った。ポイントは、以下の3つ マニフェストのMainファイル指定はパッケージ付きのフルネームで。…

JFileChooserを使ってTextAreaの内容をファイル名を記入して保存

JFileChooserを使う。保存するファイルの拡張子はtxt。 JFileChooser fileChooser = new JFileChooser; JTextArea tarea = new JTextArea("この内容が保存されます。"); void saveAs() { int x = fileChooser.showSaveDialog(this); try { if (x == JFileCho…

TextAreaをクリアする

JTextArea tarea = new JTextArea(); tarea.setText(""); ボタンと組み合わせると、クリアボタンになる。 JButton btn_clear = new JButton("clear"); JTextArea tarea = new JTextArea("clearボタンが押されると消えます。"); btn_clear.addActionListener(…

ボタンを押したらイベント

JButton btn = new JButton("event"); btn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //イベント内容 System.out.println("event"); } });

配列の初期化(newと値の代入を同時に)

int[][] array = { {1,1,1}, {2,2,2}, {3,3,3} }; おそらく、次の2つは等価? int[][] array = { {0,0,0}, {0,0,0}, {0,0,0} }; int[][] array = new int[3][3];

ファイルが存在していたら警告

ポップアップダイアログで警告 int existFile; File file = new File(String Filename); //もしファイルが存在していたら警告ダイアログ if(file.exists()) { existFile = JOptionPane.showConfirmDialog(null, "同じ名前のファイルが存在します。上書きしま…

数値フォーマット

出力を小数点以下8桁にそろえたい。 NumberFormat formatter = NumberFormat.getNumberInstance(); formatter.setMaximumFractionDigits(8); formatter.setMinimumFractionDigits(8); double x; String s = formatter.format( x )));

行列の転置 3×3

Javaで行列の転置。 3x3の行列のみ。 double[][] transpose(double[][] Array) { double[][] T = new double[3][3]; for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { T[j][i] = Array[i][j]; } } return T; }

行列の積 3×3

Javaで行列の積の計算。 3x3の行列のみ。 double[][] mulArray(double[][] A, double[][] B) { double[][] C = new double[3][3]; for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { double sum = 0; for (int k = 0; k < 3; k++) { sum += A[i]…

ファイルに保存

FileOutputStream fos = new FileOutputStream("inertia_data.txt"); OutputStreamWriter osw = new OutputStreamWriter(fos , "MS932"); BufferedWriter bw = new BufferedWriter(osw); bw.write(str); bw.close(); osw.close(); fos.close();

Javaの数値(数字?)変換のすごさ

javaはえらいです。String文字列を数値として変換して扱いたいとき、 ".0032"は0.0032に、 "-.0032"は-0.0032に、 "3.24533E+06"は3245330に自動で変換してくれます。 Double.parseDouble(str)を使います。 サンプル String str = ".0032"; double x = Doubl…

Javaの文字列操作はStringBufferクラスを使います。

サンプル String str = "javaの文字列操作はStringBufferクラス" StringBuffer buf = new StringBuffer(str); buf.insert(5, "便利な");//javaの便利な文字列操作はStringBufferクラス buf.append(です!);//javaの文字列操作はStringBufferクラスです!