2

わかりましたので、私はそれらを作成する方法を知っていることを確認するためにテストJavaアプレットを作成しましたが、デフォルトのルックアンドフィールは本当に醜いです. だから私はそれをNimbusに切り替えたいのですが、私の暗黙の了解は機能していません。約 1 時間分の Google 検索を行いましたが、何もヒットしませんでした。1 つのフォーラムを除いて、質問がありましたが、理解できる回答はありませんでした。何か案は?これがわかりにくい場合は、申し訳ありません。

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
        }
    }
}
4

1 に答える 1

3

このトピックに関するOracleのサイトのこのページは、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の存在を確認しないので、システムで実際に使用できるかどうかを確認しますか?

条項を少し削除して、catchNimbusがインストールされていないというエラーメッセージが表示されるかどうかを確認することをお勧めします。

于 2012-12-02T15:09:10.497 に答える