它的功能是播放警告声音并弹出一个窗口,它的窗口风格是系统风格吗?比如放到Linux中去,弹出窗口是Linux的风格吗?(声音暂不考虑)。如果不能,请各位前辈帮我修改实现。并且我想让Linux系统已启动就执行这个代码,有什么简单而又不易察觉的方法吗?不是我坏,是老板坏,非让我做这么个东东……拜求各位前辈!希望仔细说给小弟看。package onewindow;import javax.swing.JFrame;
import javax.swing.JOptionPane;
import java.awt.event.*;
import sun.audio.*;
import java.io.*;public class WarningWindow implements WindowListener {
    public WarningWindow() {
     JFrame jf = new JFrame();
     JOptionPane.showConfirmDialog(jf,
     "Your system resources has insufficient, may affect the normal use of you!",
     "Warning",
     JOptionPane.OK_OPTION);
System.exit(1);
    }
    
    
public static void main(String[] args) throws IOException{
FileInputStream fileau=new FileInputStream("C:\\WINDOWS\\Media\\Windows XP 惊叹号.wav");   
AudioStream as=new AudioStream(fileau);   
AudioPlayer.player.start(as);
new WarningWindow();
}
@Override
public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub

}
@Override
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub

}
@Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub

}
@Override
public void windowDeactivated(WindowEvent e) {
// TODO Auto-generated method stub

}
@Override
public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub

}
@Override
public void windowIconified(WindowEvent e) {
// TODO Auto-generated method stub

}
@Override
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub

}

}

解决方案 »

  1.   

    Linux会弹出找不到文件的异常框,不过还是jswing风格
    你要设置成应用系统风格才行
      

  2.   

      String nativeLF = UIManager.getSystemLookAndFeelClassName();
        
        // Install the look and feel
        try {
            UIManager.setLookAndFeel(nativeLF);
        } catch (InstantiationException e) {
        } catch (ClassNotFoundException e) {
        } catch (UnsupportedLookAndFeelException e) {
        } catch (IllegalAccessException e) {
        }
      

  3.   

    记录当前系统时间
    算出一个小时后的时间executeTime
    启动一个线程,每隔一段时间比较一下系统时间和executeTime
    如果系统时间大于executeTime就弹出窗口,播放声音
    之后再将executeTime赋值为一个小时之后的时间
                //得到所有系统支持的界面外观
                LookAndFeelInfo[] laf = UIManager.getInstalledLookAndFeels();
                //设置界面外观
                UIManager.setLookAndFeel();