#login

&lastmod;

* テスト [#n15e184e]
#code{{
// -*- mode:java; encoding:utf-8 -*-
// vim:set fileencoding=utf-8:
// @homepage@

package example;

import java.awt.*;
import java.awt.font.FontRenderContext;
import java.awt.font.GlyphVector;
import java.awt.geom.Rectangle2D;
import java.util.stream.Stream;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;

public final class MainPanel extends JPanel {
  private MainPanel() {
    super(new BorderLayout());

    JPanel panel = new JPanel(new BorderLayout());
    JLabel label = new JLabel();
    int code = 0x1F512;
    JLabel label = new JLabel(new String(Character.toChars(code)));
    label.setFont(label.getFont().deriveFont(24f));
    label.setHorizontalAlignment(SwingConstants.CENTER);
    label.setVerticalAlignment(SwingConstants.CENTER);
    label.setText("\uD83D\uDD12");
    Font old = label.getFont();
    panel.add(label);

    Font font = label.getFont();
    FontMetrics fm = getFontMetrics(font);
    FontRenderContext frc = fm.getFontRenderContext();
    GlyphVector gv = getFont().createGlyphVector(frc, label.getText());
    Rectangle2D b = gv.getVisualBounds();
    System.out.println(b);
    System.out.println(font.canDisplay(0x1F512));
    String[] columnNames = {"family", "name", "postscript name", "canDisplay", "isEmpty"};
    DefaultTableModel model = new DefaultTableModel(null, columnNames) {
      @Override public boolean isCellEditable(int row, int column) {
        return false;
      }

    //label.setFont(new Font(old.getFontName(), Font.BOLD, 361)); // normal (WIN10)
    label.setFont(old.deriveFont(362f)); // layered (WIN10)
      @Override public Class<?> getColumnClass(int column) {
        return column > 2 ? Boolean.class : String.class;
      }
    };
    JTable table = new JTable(model);
    Font[] fonts = GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts();
    Stream.of(fonts)
        .map(f -> {
          String txt = new String(Character.toChars(code));
          FontRenderContext frc = getFontMetrics(f).getFontRenderContext();
          return new Object[] {
              f.getFamily(),
              f.getName(),
              f.getPSName(),
              f.canDisplay(code),
              f.createGlyphVector(frc, txt).getVisualBounds().isEmpty()
          };
        })
        .forEach(model::addRow);
    add(new JScrollPane(table));
    table.getSelectionModel().addListSelectionListener(e -> {
      int sc = table.getSelectedRowCount();
      if (!e.getValueIsAdjusting() && sc == 1) {
        Font f = fonts[table.getSelectedRow()];
        label.setFont(f.deriveFont(24f));
      }
    });

    add(panel);
    setPreferredSize(new Dimension(1200, 480));
    add(label, BorderLayout.NORTH);
    add(new JScrollPane(table));
    setPreferredSize(new Dimension(320, 240));
  }

  public static void main(String[] args) {
    EventQueue.invokeLater(MainPanel::createAndShowGui);
  }

  private static void createAndShowGui() {
    try {
      UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
      ex.printStackTrace();
      Toolkit.getDefaultToolkit().beep();
    }
    JFrame frame = new JFrame("@title@");
    frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    frame.getContentPane().add(new MainPanel());
    frame.pack();
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);
  }
}
}}

* リンク [#link]
- [[Swing [Archive] - How can I open a JFrame at the center of my screen ?>https://forums.oracle.com/thread/1484432]]
 [[Swing [Archive] - How can I open a JFrame at the center of my screen ?>https://forums.oracle.com/thread/1484432]]
- [https://forums.oracle.com/thread/1484432 Swing [Archive] - How can I open a JFrame at the center of my screen ?]
 [https://forums.oracle.com/thread/1484432 Swing [Archive] - How can I open a JFrame at the center of my screen ?]
- [https://ateraimemo.com/data/swing/screenshots.png Swing/_ScreenShots]
- [[全ページの一覧>cmd:list]]
- [[最近の更新ページ>cmd:recent]]

// &img(https://drive.google.com/file/d/1pbnpWXAOC1SNWnBA7miVxg8WiwCgX0w34w/view?usp=sharing);

#img2(https://drive.google.com/uc?id=1LK_DcJMZ1i-Ws4gjeBd85DQRUnEe6Ho5Rw, Solitaire/FreeCell)

* メモ [#d2e4fbad]
** git merge でエディタを開かない [#s16c7e04]
- [https://stackoverflow.com/questions/12752288/git-merge-doesnt-use-default-merge-message-opens-editor-with-default-message Git merge doesn't use default merge message, opens editor with default message - Stack Overflow]
- `export GIT_MERGE_AUTOEDIT=no`
- .gitconfig
    [core]
        mergeoptions = --no-edit
- `git merge --no-edit`

** VirtualBoxでのKBD{半角/全角}キーリピートバグ [#cb906997]
`VirtualBox` + `Ubuntu`や、`Linux mint 14`で日本語入力の切り替えにKBD{半角/全角}キーを使うと、システムトレイのアイコンが点滅する(うまく切り替えられない)。

- [http://akira.matrix.jp/?p=472 VirtualBox で Ubuntu をインストールする際のトラブルシューティング | あきら×ひろこ=ゆう]
- [http://d.hatena.ne.jp/yutakikuchi/20111013/1318436872 sudoでリダイレクトをしたいとき - Yuta.Kikuchiの日記]

 echo "/usr/bin/xset -r 49" | sudo tee -a /etc/X11/Xsession.d/98vboxadd-xclient

* 段組 [#lbdfb390]
#multicolumn(3)
てすと
自由に書き込みなどのテストしてください。このページは、時々内容を初期化しています。
自由に書き込みなどのテストしてください。このページは、時々内容を初期化しています。
自由に書き込みなどのテストしてください。このページは、時々内容を初期化しています。
自由に書き込みなどのテストしてください。このページは、時々内容を初期化しています。
自由に書き込みなどのテストしてください。このページは、時々内容を初期化しています。
#multicolumn
2: 自由に書き込みなどのテストしてください。このページは、時々内容を初期化しています。
自由に書き込みなどのテストしてください。このページは、時々内容を初期化しています。
自由に書き込みなどのテストしてください。このページは、時々内容を初期化しています。
#multicolumn
3: 自由に書き込みなどのテストしてください。このページは、時々内容を初期化しています。
自由に書き込みなどのテストしてください。このページは、時々内容を初期化しています。
自由に書き込みなどのテストしてください。このページは、時々内容を初期化しています。
#multicolumn

** コメント [#s73c42b2]
- subversionのセットアップ情報参考にさせていただいています。ありがとうございます。 -- &new{2005-07-02 (土) 14:06:04};
-- どうもです(二ヶ月気づいてませんでした (^^;)。 -- &user(aterai); &new{2005-09-02 (金) 19:34:49};
- できない -- &user(投稿); &new{2006-03-16 (木) 12:03:24};

#comment

* ソースコード [#c7012c4e]
 #code{{...}}

#code{{
public enum Flip {
    NONE,
    VERTICAL,
    HORIZONTAL,
}
}}

* 表組みの練習 [#fce4e41f]
- ヘッダ
||ファイル数| サイズ| 総行数| コメント行| 実行数| 空行数|コメント率|h
|~合計|  169|5291916|174370|     77045| 84804| 12521|         |
|~平均|     |  31313|  1031|       455|   501|    74|   44.13%|

- フッタ、連結
||ファイル数|サイズ|総行数|コメント行|実行数|空行数|コメント率|h
|~合計|169|5291916|174370|77045|84804|12521||
|~平均||31313|1031|455|501|74|44.13%|
||||||||BGCOLOR(white):|c
|>|>|>|>|>|>|>|CENTER:[[コメント書うんた>http://homepage3.nifty.com/masenaru/html/cmtw.htm]]で計算|f

- セルサイズ、右寄せ
||RIGHT:70|RIGHT:60|RIGHT:60|RIGHT:70|RIGHT:60|RIGHT:60|RIGHT:70|c
||ファイル数|サイズ|総行数|コメント行|実行数|空行数|コメント率|h
|~合計|169|5291916|174370|77045|84804|12521||
|~平均||31313|1031|455|501|74|44.13%|

- 背景色
 |の後にBGCOLOR(#d6d9df): デフォルトではスペースなどを入れると駄目
|Key                       |Value                |Preview          |h
|control                   |#d6d9df (214,217,223)|BGCOLOR(#d6d9df):|
|info                      |#f2f2bd (242,242,189)|BGCOLOR(#f2f2bd):|
|nimbusAlertYellow         |#ffdc23 (255,220,35) |BGCOLOR(#ffdc23):|
|nimbusBase                |#33628c (51,98,140)  |BGCOLOR(#33628c):|
|nimbusDisabledText        |#8e8f91 (142,143,145)|BGCOLOR(#8e8f91):|
|nimbusFocus               |#73a4d1 (115,164,209)|BGCOLOR(#73a4d1):|
|nimbusGreen               |#b0b332 (176,179,50) |BGCOLOR(#b0b332):|
|nimbusInfoBlue            |#2f5cb4 (47,92,180)  |BGCOLOR(#2f5cb4):|
|nimbusLightBackground     |#ffffff (255,255,255)|BGCOLOR(#ffffff):|
|nimbusOrange              |#bf6204 (191,98,4)   |BGCOLOR(#bf6204):|
|nimbusRed                 |#a92e22 (169,46,34)  |BGCOLOR(#a92e22):|
|nimbusSelectedText        |#ffffff (255,255,255)|BGCOLOR(#ffffff):|
|nimbusSelectionBackground |#39698a (57,105,138) |BGCOLOR(#39698a):|
|text                      |#000000 (0,0,0)      |BGCOLOR(#000000):|

- テスト
#code{{
while (preg_match('/^(?:\s*)(?:(LEFT|CENTER|RIGHT)|(BG)?COLOR\(([#\w]+)\)|SIZE\((\d+)\)):(.*)$/',
}}
| Key                       | Value                | Preview          |h
| control                   | #d6d9df (214,217,223)| BGCOLOR(#d6d9df):|
| info                      | #f2f2bd (242,242,189)| BGCOLOR(#f2f2bd):|

* ''日付''の練習 [#pb8b339d]
 &date;
-- 2001-12-06

 &time;
-- 15:00:08

 &now;
-- 2004-06-18 (金) 12:59:20

* オートリンクの練習 [#z4a1b7cb]
- このサイトではオートリンクは無効
- WikiNameも、SwingのJLabelなどが一々リンクになって鬱陶しいから無効

* 属性の練習 [#j5a7dcc2]
COLOR(#993333){ 色の変更も可能なルール(COLOR(#993333)) }

SIZE(10){ サイズの変更も可能なルール(SIZE(10)) }

SIZE(20){ COLOR(#333399){ 両方指定(SIZE(20)COLOR(#333399)) } }

%%打ち消し線%%

左寄せ
CENTER:中寄せ
RIGHT:右寄せ

* 用語の練習 [#qd954eed]
:カテゴリ|ミステリ
:評価|★★★★
:感想|ちとしはちとしはちとしはちとしはちとしは:asdfasd|adfafdsasdf

:用語1|いろいろ書いた解説文1と''強調単語''((注釈1 WikiName))
:用語2|いろいろ書いた解説文2((注釈2 BracketName))
:用語3|いろいろ書いた解説文3((注釈3 注釈の中に((注釈))を置く))

// * 引越しメモ [#t8dbae70]
// 川崎市中原区から、宮前区に引っ越し
// -重視したのは、家賃>自転車通勤距離>>専有面積>>>>>>>>>>>沿線・最寄り駅
// -家賃
// --1万円安くなった
// -専有面積
// --すこし広くなった
// --天井が高くなったので、突っ張り式本棚の棚が増やせる
// -沿線・最寄り駅
// --考慮せず、自転車通勤だから駅からの距離とか、乗換えとかは無視
// --引越してから駅まで歩いたことはないけど(結構坂がキツくて60分ほど掛かった)、バスで移動したほうがよさそう(ちなみに前の住所で最寄り駅までは、実測徒歩20分)
// -自転車通勤
// --距離は6000m伸びて、片道16km(サイクルメーター)に(Google Map だと15.9km)
// --汗をかいて着替えが必要なのは、10kmも16kmも同じ、疲れ具合も変わらない
// --満員電車、駅から職場までの距離を考えると、自転車はとても楽
// --ルートを最適化すれば、距離はもうすこし短くなりそう
// --時間は平均すると50分前後、安全運転
// --きつそうなのは、二子玉川から多摩美大の坂?
// --以前住んでた所の駐輪場は酷くて、バイクなどが歩道まで溢れてた(しかも移動させると警報が鳴り響く)けど、今回のは広くて良くなった
// --1階から2階になって、自転車を部屋に持ち込むのが面倒になったが、駐輪場が良くなったので、雨の日用のクロスバイクは外に置くことにする
// --○○が○○○○でクロスバイクに○○○○された(二回目だ)ので、クロスバイクも室内で保管する
// --なれたらトレンクル(折り畳み)でも、大丈夫そう
// ---パンク修理の手間を考えるとメインはクロスバイク
// -トラブル
// --初日、電気が付かなかった(東京電力のミスだった模様)
// -- と、思ってたけど、いま考えると○○が○○○○で色々あったのではと推測
// --ネットの開通が、○○が○○○○で一週間伸びた
// --- 自分にも、NTT、プロバイダにも全く非は無い
//
// - そろそろ上記の場所に4年住んだので引越し先を探す
// - まとめると、不動産屋が言ってた「○○がちょっと○○○○でアレなんですけど…」的なことを婉曲的表現で口ごもってた理由がよく分かる4年だった
// -- 不動産屋に「ちょっとじゃないだろ!!!」と言いたい
// -- 二年前の更新時に、「○○がかなり○○○○でもそんなに○○○○わけでもないし」とか思ったのが甘かった
// - 壁が想像以上に薄かった
// -- 隣の部屋のいびきが聞こえる
// -- 上の階の洗濯機や、駐輪場の原付のエンジン音が部屋に反響して振動する
// -- ○○○○の○○が朝っぱらから○○○しているのが聞こえる
//
//-予定
//--転居届
//--運転免許書の住所変更
//--カード類の住所変更
//--ガス、水道、支払い方法
//--駐輪場に屋根がないので、自転車カバーを買う
//-済み
//--郵便、電気
//--前の住所のカギ郵送