「Java/swing/サンプル/フローレイアウトで強制改行」の編集履歴(バックアップ)一覧はこちら

Java/swing/サンプル/フローレイアウトで強制改行」(2012/10/23 (火) 02:30:17) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

&ref(FlowNewLine.png) フローレイアウトで強制改行するサンプルです。 - やってる事は、JSeparatorを縦幅0、横幅ウィンドウと同じサイズで追加するだけですが! * サンプルダウンロード &ref(FlowNewLine.java) &ref(FlowNewLine.jar) &ref(FlowNewLine.zip) * サンプルソース #highlight(java){{ import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.TextField; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JSeparator; /* * フローレイアウトで強制改行するサンプルです。 * ・やってることは、JSeparatorを縦幅0、横幅ウィンドウと同じサイズで追加するだけです。 */ public class FlowNewLine extends JFrame { public static void main(String[] args) { new FlowNewLine(); } public FlowNewLine() { setDefaultCloseOperation(EXIT_ON_CLOSE); int width = 300; setBounds(200, 100, width, 220); setTitle("フローレイアウトで強制改行"); // フローレイアウト設定 FlowLayout l = new FlowLayout(FlowLayout.LEFT); l.setVgap(3); l.setHgap(5); setLayout(l); setResizable(false); // サイズ変更禁止 add(getHr(width, 0)); add(getLabel("住所")); add(new TextField(20)); add(getHr(width, 0)); add(getLabel("氏名")); add(new TextField(20)); add(getHr(width, 0)); add(getLabel("年齢")); add(new TextField(3)); add(getHr(width, 0)); add(getLabel("電話番号")); add(new TextField(10)); add(getHr(width, 0)); add(getLabel("趣味")); add(new TextField(20)); add(getHr(width, 0)); add(getHr(width - 18, 1)); // ボタンをセンタリング表示のためにパネルを追加 JPanel p = new JPanel(); p.setLayout(new FlowLayout()); p.setPreferredSize(new Dimension(width - 18, 50)); p.add(new JButton("OK")); add(p); setVisible(true); } public JLabel getLabel(String text) { JLabel label = new JLabel(text); label.setPreferredSize(new Dimension(65, 20)); label.setHorizontalAlignment(JLabel.RIGHT); return label; } public JSeparator getHr(int width, int hight) { JSeparator sp = new JSeparator(JSeparator.HORIZONTAL); sp.setPreferredSize(new Dimension(width, hight)); return sp; } } }}

表示オプション

横に並べて表示:
変化行の前後のみ表示: