2

Netbeans 7.2で入力setLookAndFeel();すると、メソッドが見つからないと表示されます。私は何を間違えましたか?

import javax.swing.*;

public class SalutonFrame extends JFrame  {

    public SalutonFrame() throws UnsupportedLookAndFeelException {
        super("Saluton Mondo!");

        setLookAndFeel();

        setSize(350, 100);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}
4

3 に答える 3

4

フレームのルックアンドフィールを設定するには、UIManagerを介して、コンストラクターの前に設定する必要があります。あなたはそのようにそれを行うことができます:

    UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
    JFrame someFrame = new JFrame();

または、使用したいルックアンドフィールのクラスは、例に示されている基本的なJavaルックの代わりになります。詳細については、こちらをご覧ください。

于 2012-09-06T00:32:30.060 に答える
2

..メソッドが見つかりません。

メソッドとよく似ていgetPonyRide()ます。クラスまたはそれが拡張するクラスで定義されていないメソッドを作成する場合、コンパイラーはそれらが存在しないことを通知します。

IDEは通常、次のように入力すると、選択肢のドロップダウンメニューを表示します。

instanceOfObject.

..また..

this.

が入力された瞬間.(または開発ボックスの速度によっては数秒後)に、可能なメソッドと属性のリストが表示されます。いずれかを選択する前に、可能性を注意深く調べてください。

推奨事項

  1. フレームを拡張するのではなく、単にフレームを参照してください。継承よりも構成を優先します。
  2. を呼び出さないsetSize()でください。代わりにpack()、すべてのコンポーネントが追加された後に呼び出してください。
  3. JFrame.DISPOSE_ON_CLOSE終了操作に使用します。
于 2012-09-06T02:15:34.417 に答える
0

「SamsTeachYourselfJava in 24 Hours、6th edition?」という本を読んでいたようですが、

とにかく、あなたはこのようにそれを行うことができます:

import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;

public class SalutonFrame extends JFrame {

    public SalutonFrame() throws UnsupportedLookAndFeelException {
        super("Saluton Mondo!");

        try {
            UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
            JFrame someFrame = new JFrame();

            setSize(350, 100);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        } 

        catch (Exception exc) {
            //  error handling
        }
    }
}

または、次のように行うことができます。

import javax.swing.*;

public class SalutonFrame extends JFrame {

    public SalutonFrame() {

        super("Saluton Frame");
        setLookAndFeel();
        setSize(350, 100);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
    }

    private void setLookAndFeel() {

        try {        

            UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());

        } catch (Exception exc) {
            //  error handling
        }
    }

    public static void main(String[] args) {
        SalutonFrame sal = new SalutonFrame();
    }
}
于 2014-10-20T11:33:59.557 に答える