在Java小程序上更改外观
好的,所以我做了一个测试java小程序,以确保我知道如何制作它们,但我认为默认的外观和感觉看起来非常难看。所以我想把它换成Nimbus,但我的默契不起作用。我花了大约一个小时的时间在谷歌上搜索,但什么也没找到,只有一个论坛有这个问题,但没有我能理解的答案。有什么想法吗?如果这很难理解,我很抱歉在Java小程序上更改外观,java,swing,look-and-feel,japplet,nimbus,Java,Swing,Look And Feel,Japplet,Nimbus,好的,所以我做了一个测试java小程序,以确保我知道如何制作它们,但我认为默认的外观和感觉看起来非常难看。所以我想把它换成Nimbus,但我的默契不起作用。我花了大约一个小时的时间在谷歌上搜索,但什么也没找到,只有一个论坛有这个问题,但没有我能理解的答案。有什么想法吗?如果这很难理解,我很抱歉 import java.applet.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.ne
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
public class Websitetest extends JApplet implements ActionListener, Runnable {
boolean i = false;
Color red = new Color(255, 0, 0);
Color lightgrey = new Color(200, 200, 200);
Thread runner;
public void init() {
setLookAndFeel();
Button dp = new Button("Don't press");
dp.addActionListener(this);
FlowLayout flow = new FlowLayout();
setLayout(flow);
add(dp);
}
public void paint(Graphics screen) {
Graphics2D screen2D = (Graphics2D) screen;
if (i == false) {screen2D.setColor(lightgrey);}
else {screen2D.setColor(red);}
screen2D.fillRect(0, 0, getSize().width, getSize().height);
screen2D.setColor(Color.black);
if (i == false) {screen2D.drawString("", 5, 60);}
else {screen2D.drawString("I SAID DON'T PRESS!", 90, 60);}
}
public void start() {
if (runner == null) {
runner = new Thread(this);
runner.start();
}
}
public void stop() {
if (runner != null) {
runner = null;
}
}
public void run() {
Thread thisThread = Thread.currentThread();
}
public void actionPerformed(ActionEvent event) {
i = true;
repaint();
}
private void setLookAndFeel() {
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
} catch (Exception exc) {
//ignore error
}
}
}
关于这一主题的研究表明,Nimbus可能不可用。他们使用以下片段切换到Nimbus(如果可用)
try {
for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (Exception e) {
// If Nimbus is not available, you can set the GUI to another look and feel.
}
由于在设置Nimbus之前没有检查它的存在:您确定它在您的系统上真的可用吗
我建议暂时删除
catch
子句,看看是否会收到关于未安装Nimbus的错误消息。我在我的应用程序上使用了Nimbus,但它似乎无法在小程序上工作。应用程序小程序。幽默我,只是删除一下捕获
。将}catch(异常exc){//ignore error}
更改为}catch(异常exc){exc.printStackTrace();}
&复制/粘贴结果作为对问题的编辑。