java 创建并显示框架_Java / Swing – >创建通知JFrame,错误“框架可显示”

好吧,我不是那么精通Java / Swing,而且我遇到了一个问题.我的应用程序抛出此错误:“线程中的异常”AWT-EventQueue-0“java.awt.IllegalComponentStateException:框架是可显示的.”谷歌没有提供有关此错误的大量信息,并且快速搜索StackOverflow还没有显示任何内容.

我想做的是:使用教程中的代码实现半透明窗口.而已.我计划将其用作显示通知的常规窗口,例如“系统托盘附近的”此程序尚未在30天内运行“.

有没有经验丰富的Java / Swing专家可以发现我的初学者的错误?

谢谢.

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package energizingemerald;

/**

*

*/

import java.awt.*;

import javax.swing.*;

import static java.awt.GraphicsDevice.WindowTranslucency.*;

public class NotificationFrame extends javax.swing.JFrame {

/**

* Creates new form NotificationFrame

*/

public NotificationFrame() {

initComponents();

this.setLayout(new GridBagLayout());

this.setUndecorated(true);

this.setSize(300,200);

this.setLocationRelativeTo(null);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setOpacity(0.50f);

}

/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

//

private void initComponents() {

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGap(0, 400, Short.MAX_VALUE)

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGap(0, 300, Short.MAX_VALUE)

);

pack();

}//

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

}

}

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(NotificationFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(NotificationFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(NotificationFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(NotificationFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

}

//

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

@Override

public void run() {

new NotificationFrame().setVisible(true);

}

});

}

// Variables declaration - do not modify

// End of variables declaration

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值