在 Java Swing 中建立 Toast 訊息\n
提示訊息是一種無需人工干預就會自動消失的警報。藉助 JDK 7,我們可以非常輕鬆地建立類似於安卓上警報的提示訊息。以下是製作提示訊息所需的步驟。
製作一個圓角矩形形狀的邊框。向該邊框新增元件偵聽器,覆蓋它的 componentResized() 以更改該邊框的形狀。無論何時更改視窗大小時,此方法均能正確重新計算邊框的形狀。
frame.addComponentListener(new ComponentAdapter() {
@Override
public void componentResized(ComponentEvent e) {
frame.setShape(new RoundRectangle2D.Double(0,0,frame.getWidth(),
frame.getHeight(), 20, 20));
}
});在顯示期間,先顯示該邊框,然後透過將不透明度降低到 0,慢慢將其隱藏起來。
for (double d = 1.0; d > 0.2; d -= 0.1) {
Thread.sleep(100);
setOpacity((float)d);
}示例
請檢視下方的提示訊息視窗示例。
import java.awt.Color;
import java.awt.GridBagLayout;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.awt.geom.RoundRectangle2D;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Tester {
public static void main(String[] args) {
ToastMessage message = new ToastMessage("Welcome to TutorialsPoint.Com");
message.display();
}
}
class ToastMessage extends JFrame {
public ToastMessage(final String message) {
setUndecorated(true);
setLayout(new GridBagLayout());
setBackground(new Color(240,240,240,250));
setLocationRelativeTo(null);
setSize(300, 50);
add(new JLabel(message));
addComponentListener(new ComponentAdapter() {
@Override
public void componentResized(ComponentEvent e) {
setShape(new RoundRectangle2D.Double(0,0,getWidth(),
getHeight(), 20, 20));
}
});
}
public void display() {
try {
setOpacity(1);
setVisible(true);
Thread.sleep(2000);
//hide the toast message in slow motion
for (double d = 1.0; d > 0.2; d -= 0.1) {
Thread.sleep(100);
setOpacity((float)d);
}
// set the visibility to false
setVisible(false);
}catch (Exception e) {
System.out.println(e.getMessage());
}
}
}輸出

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