Có thể tạo một khung hình JFrame có nền trong suốt và vẽ một hình ảnh trên đó, vì vậy chỉ hình ảnh sẽ hiển thị mà không có viền hoặc nền?Nền JFrame trong suốt
Trả lời
Xem Translucent and Shaped Swing Windows bởi Kirill Grouchnikov.
Để biết ví dụ về Mac OS X, hãy xem Re-paint problem on translucent frame/panel/component.
Có thể.
Nếu JFrame của bạn là một biến địa phương hoặc lĩnh vực:
myJFrame.setUndecorated(true);
Nếu lớp học của bạn kéo dài JFrame:
setUndecorated(true);
đúng là vì jdk7, tính minh bạch chỉ được hỗ trợ cho khung chưa được trang trí. Làm thế nào để gọi phương pháp nên được kiến thức cơ bản, mặc dù :-) – kleopatra
Vâng, nó có thể bằng nhiều cách. Đây là một trong số họ:
setUndecorated(true);
setBackground(new Color(1.0f,1.0f,1.0f,0.5f));
phao thứ 4 (mà tôi đặt thành 0,5f) trong hàm tạo màu là kênh alpha. Nó có thể là 0,0f - 1,0f phụ thuộc vào độ trong suốt mà bạn muốn.
Bạn cũng nên làm cho khung nội dung trong suốt.
frame.setUndecorated(true);
frame.getContentPane().setBackground(new Color(1.0f,1.0f,1.0f,0.0f));
frame.setBackground(new Color(1.0f,1.0f,1.0f,0.0f));
Liên kết giờ đã chết. Google đề xuất bài đăng trên blog này: http://www.pushing-pixels.org/2008/02/27/translucent-and-shaped-windows-in-core-java.html –