gikoha’s blog

個人的メモがわり

WindowBuilder

GUIデザインだけならけっこう使える。
Java のLayoutマネージャとこういうGUIデザインツールは相性悪そうなのに、よくぞ作ったという感じ。
でもソースコードの日本語の文字列がぜんぶ\u75C5\u9662とかになっちゃう。(これはencodingがSJISの場合でした)
あとWB使って定義したtextareaなどの初期化時に、textarea.setText(getClip())とか書いてしまうと、その欄に実際にそのメソッドが呼ばれてたり...

	/**
	 * Initialize the contents of the frame.
	 */
	private void initialize()
	{
		frame = new JFrame();
		frame.setBounds(100, 100, 489, 325);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.getContentPane().setLayout(null);

		JLabel label = new JLabel("下のTextAreaにDesign段階でgetClipboardString()の内容が入ってしまう");
		label.setBounds(18, 6, 450, 33);
		frame.getContentPane().add(label);

		textArea.setBounds(39, 45, 390, 211);
		textArea.setText(getClipboardString());
		frame.getContentPane().add(textArea);
	}

	public static String getClipboardString()
	{

↓ textArea の初期化のつもりで "textArea.setText(getClipboardString());"を追加するとDesign Viewの時点で勝手にそのメソッドが呼ばれてeclipseクリップボードの内容が取り込まれて表示がこんなことになってしまう

解析型はコードサイズが小さくなる利点はあるけれど、こういうリスクもありなかなか曲者ですなー
swingはフォントを全部Dialog-12にするのがめんどくさい。
google "swing フォント 汚い" 笑った