用 Java Swing 建立形狀視窗
使用 JDK 7,我們可以非常容易地使用 swing 建立一個形狀視窗。以下是可以製作形狀視窗的步驟。
將元件偵聽器新增到框架並覆蓋 componentResized() 以更改框架的形狀。無論何時更改視窗大小,此方法都會重新正確計算框架的形狀。
frame.addComponentListener(new ComponentAdapter() {
@Override
public void componentResized(ComponentEvent e) {
frame.setShape(new RoundRectangle2D.Double(0,0,frame.getWidth(),
frame.getHeight(), 20, 20));
}
});示例
請參閱以下形狀視窗的示例。
import java.awt.Color;
import java.awt.GridBagLayout;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.awt.geom.Ellipse2D;
import java.awt.geom.RoundRectangle2D;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
public class Tester {
public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
// Create the GUI on the event-dispatching thread
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
createWindow();
}
});
}
private static void createWindow() {
JFrame frame = new JFrame("Rounded Shaped Window");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
createUI(frame);
frame.setVisible(true);
}
private static void createUI(final JFrame frame) {
frame.setLayout(new GridBagLayout());
frame.setSize(200, 200);
frame.setLocationRelativeTo(null);
frame.add(new JButton("Hello World"));
frame.addComponentListener(new ComponentAdapter() {
@Override
public void componentResized(ComponentEvent e) {
frame.setShape(new RoundRectangle2D.Double(0,0,frame.getWidth(),
frame.getHeight(), 20, 20));
}
});
}
}輸出

廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP