设置Nimbus外观和感觉Java教程 - 永远不会到catch块来设置另一种外观

时间:2015-06-28 15:15:54

标签: java look-and-feel

Java教程提供了以下用于设置Nimbus外观的示例:question

UIManager.setLookAndFeel()

在我看来,仅当.setLookAndFeel()抛出异常时才会发生捕获。 如果你把代码放在catch块中设置另一个外观,理论上它应该永远不会执行,因为你只使用了LookAndFeel上的//app.js var worker = childProcess.fork('./app_modules/workers/worker1.js'); worker.setMaxListeners(0); require('./app_modules/sockets-user/foobar.js')(io, worker); //foobar.js io.sockets.on('connection', function (socket) { socket.on('trigger', function (data) { worker.send(data); worker.once('message', function(responseData) { //here I get a response from worker socket.emit('response', responseData); }); }); }); 。 如果Nimbus在系统上不可用,它将通过ForEach掉落到try-catch块中,而不是设置任何东西。

“如果nimbus不可用......”的代码不应该在ForEach之后和捕获之前进行吗? 在catch块中,您可能希望指定随JAVA提供的SystemLookAndFeel或DefaultLookAndFeel。

我是否正确如上所述的try-catch块?我担心我错过了一些东西,因为这个示例代码被多次引用,我已经看到了这个问题。

1 个答案:

答案 0 :(得分:0)

Nimbus始终可以从类级别获得,因为它在Java 1.5之后包含在每个JRE中。

它是什么意思"不可用"可能是由于反射机制中的任何问题,系统无法加载对象。

在任何情况下,我都说你应该在finally块中设置其他外观。通过这种方式,您甚至可以在较低版本的Java中加载替代方案。