1

エラーなしでルック アンド フィールを更新しようとしていますが、何が間違っているのかわかりません。

これは私のウィンドウクラスです:

public class Window extends JFrame {
    private static final long serialVersionUID = 1L;

    public Window() {
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setLayout(new MigLayout());
        setExtendedState(JFrame.MAXIMIZED_BOTH);
        setMinimumSize(new Dimension(600, 700));
        setVisible(true);

        setContentPane(new JPanel() {
            private static final long serialVersionUID = 1L;

            public void paintComponent(Graphics g) {
                g.drawImage(new ImageIcon("start.jpg").getImage(), 0, 0, getWidth(),     
                    getHeight(), this);
            }
        });
    }
}

これは、UI (ルック アンド フィール) を更新するメインの場所です。

public class Main {
    public static void main(String[] args) {
        Window.setDefaultLookAndFeelDecorated(true);
        try {
            UIManager.setLookAndFeel(new SubstanceGraphiteLookAndFeel());
        }
        catch (UnsupportedLookAndFeelException e) {}
        Window window = new Window();
    }
}

コンソールには、次の行からエラーが発生したことが示されています。 Window window = new Window();

次に、次の行: setContentPane(new JPanel() {

しかし、setContentPane ブロック全体を削除すると、エラーはコンストラクターを指します。

どんな助けでも大歓迎です。ありがとうございました!

4

1 に答える 1

3
  1. SubstanceGraphiteLookAndFeel() は、invokeLater() にラップする必要があります

  2. ウィンドウ window = new Window(); 詳細については、Oracle チュートリアルの初期スレッドを参照してください。

  3. g.drawImage(new ImageIcon("start.jpg").getImage(), 0, 0, getWidth(), getHeight(), this);

    • BufferedImage を使用し、ローカル変数として読み込みます

    • paintComponent は、すべてのマウス、キー イベント、および API に実装された内部メソッドから呼び出されます。その後、非常に難しく長い ImageIcon("start.jpg").getImage() が繰り返し呼び出され、再描画のためにイベントが発生する回数、

    • ローカル変数にロード

  4. setContentPane(new JPanel() {, getMin/Max/PreferredSizeをオーバーライド

于 2013-05-14T21:26:21.207 に答える