Swing/WindowShape のバックアップ差分(No.5)
- バックアップ一覧
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- バックアップ を表示
- Swing/WindowShape へ行く。
- 追加された行はこの色です。
- 削除された行はこの色です。
TITLE:Windowの形を変更 #navi(../) #tags(JFrame, Shape, TextLayout) RIGHT:Posted by &author(aterai); at 2011-12-19 *Windowの形を変更 [#o8807d1b] ``Window``の形を非矩形図形に変更します。 --- title: Windowの形を変更 tags: [JFrame, Shape, TextLayout] author: aterai pubdate: 2011-12-19T19:46:54+09:00 description: Windowの形を非矩形図形に変更します。 --- * 概要 [#o8807d1b] `Window`の形を非矩形図形に変更します。 //-&jnlp; -&jar; -&zip; #download(https://lh4.googleusercontent.com/-f54GogC4jCU/Tu7AbPCJhsI/AAAAAAAABGc/EzG0Tf9ITFI/s800/WindowShape.png) //#screenshot #ref(https://lh4.googleusercontent.com/-f54GogC4jCU/Tu7AbPCJhsI/AAAAAAAABGc/EzG0Tf9ITFI/s800/WindowShape.png) **サンプルコード [#k7ecdb7d] * サンプルコード [#k7ecdb7d] #code(link){{ JFrame frame = new JFrame(); frame.setUndecorated(true); frame.setAlwaysOnTop(true); frame.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE); frame.getContentPane().add(label); frame.getContentPane().setBackground(Color.GREEN); frame.pack(); String str = textField.getText().trim(); //label.setText(str); TextLayout tl = new TextLayout(str, font, frc); Rectangle2D b = tl.getBounds(); Shape shape = tl.getOutline(AffineTransform.getTranslateInstance(-b.getX(),-b.getY())); frame.setBounds(shape.getBounds()); //frame.setSize(shape.getBounds().width, shape.getBounds().height); com.sun.awt.AWTUtilities.setWindowShape(frame, shape); //frame.setShape(shape); // 1.7.0 frame.setLocationRelativeTo(parent); frame.setVisible(true); }} **解説 [#u7d38289] 上記のサンプルでは、``com.sun.awt.AWTUtilities.setWindowShape(...)``メソッドを使用して、``JFrame``の形を変更しています。 - ``Java 1.7.0``の場合は、``Window#setShape(Shape)``を使用 * 解説 [#u7d38289] 上記のサンプルでは、`com.sun.awt.AWTUtilities.setWindowShape(...)`メソッドを使用して、`JFrame`の形を変更しています。 **参考リンク [#c00b334c] -[http://blogs.oracle.com/thejavatutorials/entry/translucent_and_shaped_windows_in Translucent and Shaped Windows in JDK7 (The Java Tutorials' Weblog)] - `Java 1.7.0`の場合は、`Window#setShape(Shape)`を使用 **コメント [#l592ec36] * 参考リンク [#c00b334c] - [http://blogs.oracle.com/thejavatutorials/entry/translucent_and_shaped_windows_in Translucent and Shaped Windows in JDK7 (The Java Tutorials' Weblog)] * コメント [#l592ec36] #comment #comment