Java 中有許多的 參數可以將組件 透明的現實給使用者!這一點我認為做的比較好
首先:組件的透明 :
在Java 的組件中除過 JLabel 和 Label 本身的 一些條件限制所以他們本身就被設定成為 不繪製邊框的Java組件。
最近在做一些 有關Java Swing方面的東西,雖然說現在的JavaSwing 已經不怎麼流行啦 但是 有關於 JavaSwing 中的一些經典只是換是要學習的。
Java 中有許多的 參數可以將組件 透明的現實給使用者!這一點我認為做的比較好
首先:組件的透明 :
在Java 的組件中除過 JLabel 和 Label 本身的 一些條件限制所以他們本身就被設定成為 不繪製邊框的Java組件。
SwingButton=new JButton("SwingButton");
SwingButton.setOpaque(true);
final JLabel label=new JLabel ("label");
label.setOpaque(isOpaque());
public void setOpaque(boolean isOpaque)
如果為 true,則該組件繪製其邊界內的所有像素。否則該組件可能不繪製部分或所有像素,從而允許其底層像素透視出來。
對於 JComponent 而言,此屬性的預設值是 false。但是對於大多數標準的 JComponent 子類(如 JButton 和 JTree),此屬性的預設值與外觀有關
public boolean isOpaque()
如果此組件是完全不透明的,則返回 true。
不透明組件將每個像素繪製在其矩形邊界內。透明的組件則僅繪製部分像素或者不繪製任何像素,允許其底層像素“透視出來”。因此,沒有完全繪製其像素的組件則提供了一定程度的透明度。
保證總是完全繪製其內容的子類應該重寫此方法並返回 true。
還有就在Java中有一個Robot 類 、 相信大家 在網上看到過 不少 說 關於JAVA
寫的放大鏡 程式,這也體現啦Java 的已組建 透明特性。而且在Java( JDK )的新版本中已經見的一些 屬性直接可以將Java的某一些組件設定成為 透明的 或者把透明的。
這是 網上一網友寫的程式碼片段:它體現啦 案頭放大鏡的功能: private int relativeCoordinateYWhenMousePressed;</p><p> /**</p><p> * 標記滑鼠是否按下。如果按下則為true,否則為false</p><p> */</p><p> private boolean mousePressedNow;</p><p> /**</p><p> * 放大鏡尺寸</p><p> */</p><p> private int magnifierSize = 100;</p><p> /**</p><p> * 放大鏡內容面板</p><p> */</p><p> private MagnifierPanel magnifierPanel = new MagnifierPanel(magnifierSize);</p><p> /**</p><p> * 建構函式,建立一個放大鏡表單</p><p> */</p><p> public Magnifier()</p><p> {</p><p> setUndecorated(true); // 表單邊緣</p><p> setResizable(false);</p><p> container.add(magnifierPanel);</p><p> addMouseListener(new MouseFunctions());</p><p> addMouseMotionListener(new MouseMotionFunctions());</p><p> updateSize(magnifierSize);</p><p> this.setVisible(true);</p><p> }</p><p>
所以在Java世界 將會將一切 “透明化”