Java

java 正規表現 memo

public class Test public static void main(String[] args){ String str = "Ab9Ab9"; System.out.println(str.replaceAll("([A-Z])([a-z])([0-9])", "$2$1$3")); } } // bA9bA9

javaのお勉強。抽象クラスで宣言→new は継承したクラス

こういった場合はinterfaceも使った方がいいのだろか public class Test { private A a;// class A で宣言 public static void main(String[] args) { new Test(); } public Test() { a = new A2();// A2 で new a.a(); } } class A2 extends A { public voi…

抽象クラスのメソッドオーバーライドしたらどうなるのかお勉強

関数オーバーライドしたら、呼び出しどうなるのか知らなかったのでお勉強しましま。 public class Test extends A { public static void main(String[] args) { new Test(); } public Test() { a(); } public void b(){ super.b(); System.out.println("Test…

XMLSocketで接続する際のポリシーファイル

http://livedocs.adobe.com/flash/9.0_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001087.html Flash Player 7 以降では外部に対してXMLSocket接続する場合、ポリシーファイルをサーバー側から返してあげないといけない…

socketで相手が接続を切ったのを判断する

public void run() { while(isConnecting) { try { String inputLine; while ((inputLine = in.readLine()) != null) { out.println("return:"+System.currentTimeMillis()); } if(inputLine == null) { // 相手の接続が切れた } } catch (IOException e) { …

ラベルに背景色をつける。

label = new JLabel(); label.setText("Label"); label.setFont(font); label.setOpaque(true);// 不透明の設定 label.setHorizontalAlignment(JLabel.CENTER);// 文字を中央に揃える label.setBackground(new Color(0x000000));

浮彫の無いボタン

button = new JButton(); Font font = new Font("Verdana", Font.PLAIN, 12); button.setFocusPainted(false); button.setFont(font); button.setText("Button"); button.setBackground(new Color(0xeeeeee));

JTextArea, TextArea

TextAreaは文字が横幅を超えた場合に自動でスクロールをつけてくれるが JTextAreaはそれがない public class MainFrame extends JFrame{ public MainFrame() { this.setTitle(WINDOW_TITLE); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.set…

paint(Graphics g)に依存しないで強制描画する方法

import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Toolkit; import java.awt.image.BufferedImage; import javax.swing.JPanel; public class Screen extends JPanel implements Runnable{ /** * */ private s…

createImageでnullが返る問題。

JPanelをインスタンスにした時点ではpeerが無いので、 createImageをしてもnullが返る。pack()やshow()するとどうやらpeerが作成するらしいので、 その後にcreateImageをすれば多分問題ない。参考 http://hiloshi.nce.buttobi.net/tips/gui/createimage.html…

List array = new ArrayList()[3];とかできない

// × ArrayList<Integer> array = new ArrayList<Integer>()[3]; // ○ ArrayList<Integer> array = new ArrayList()[3]; |</integer></integer></integer>

Java ジェネリック(テンプレート)

class Pair<T,T2> { private T first; private T2 second; public Pair(T first, T2 second) { super(); this.first = first; this.second = second; } public T getFirst() { return first; } public void setFirst(T first) { this.first = first; } public T2 g</t,t2>…

Hashに登録するキーは新しいインスタンスでないとうまく動作しない?

HashMap<BitSet, Integer> hash = new HashMap<BitSet, Integer>(); BitSet bitSet = new BitSet(); /* ハッシュに登録する場合、今後bitSetが変化する場合新しいBitSetを作ってそれをキーとして登録した方がいい。みたい。 */ // × hash.put(bitSet, 1); // ○ BitSet newBitSet = (BitSet)bitS</bitset,></bitset,>…

DialogをあるFrameの中央に表示させる

もっと良い書き方あるかも! 自分が書いた古いコード出てきた。 { int WIDTH = 200; int HEIGHT = 200; dialog.setSize(WIDTH, HEIGHT); Dimension display = Toolkit.getDefaultToolkit().getScreenSize();//ディスプレイサイズ int x = mainFrame.getX()+(…

JDialog閉じるときに何か処理するう

dialog = new JDialog(); dialog.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { super.windowClosing(e); dialog.dispose(); dialog = null; } }); dispose();を使用するべきかどうかは不明。とりあえず動…

jarファイルにおけるイメージの読み込み

eclipseからの実行ではClassLoaderは必要ないが 実行ファイル(jar)にすると画像が読めなくなる。 ClassLoaderを使用する必要がある。 try { ClassLoader cl = this.getClass().getClassLoader(); stone[STONE_WHITE] = ImageIO.read(cl.getResource("img/isi…

BufferedImage読み込み

import java.awt.image.BufferedImage; import java.io.File; BufferedImage image = null; try { image = ImageIO.read(new File("./image.png")); } catch (Exception e) { } 画像の置いてある位置注意。 ソースファイルが置いてある場所からじゃなくて一…

入れ子のループから指定のループを抜ける/コンティニュー

label1: while(true) { System.out.println("aaa"); break label1; } System.out.println("bbb"); 入れ子のループから指定のループを抜ける/コンティニュー。 break; continue;

変数名に$が使える

int $ = 1; String a$ = "abc"; System.out.println($ + a$);//1abc

フレームの大きさを追加したコンポの大きさに合わせる

// 追加するコンポーネント側 //setSize(WIDTH, HEIGHT); setPreferredSize(new Dimension(WIDTH, HEIGHT)); // 追加されるコンポーネント側 frame = new JFrame(); //frame.setSize(WIDTH, HEIGHT); frame.setTitle(TITLE); frame.setDefaultCloseOperation…