0

私はJavaが初めてです(ただし、JavaScriptについては幅広い知識があります)。

私はCanvasこの奇妙な問題につながる、で作業しようとしています。

ご覧のとおり、 のサイズを定義した後、Canvas印刷しようとしています。しかし、サイズが正しく印刷されません。

import java.awt.Canvas;
import java.awt.Dimension;

public class test extends Canvas {
    public static final int WIDTH = 180;
    public static final int HEIGHT = 250;

    public test() {
        setMinimumSize(new Dimension(WIDTH,HEIGHT));
        setMaximumSize(new Dimension(WIDTH,HEIGHT));
        setPreferredSize(new Dimension(WIDTH,HEIGHT));

        System.out.println(getWidth());
    }

    public static void main(String[] args) {
        new test();
    }
}

なぜサイズが変更されたのですか?

4

3 に答える 3

5

なぜゼロを出力するのですか?? キャンバスのサイズを適切に印刷するにはどうすればよいですか?

サイズを設定していないため、幅と高さは 0 のままです。レイアウト ヒントのサイズのみを設定しました。これらは、コンポーネントをレイアウトするためにレイアウト マネージャーによって使用されます。レイアウト マネージャーを使用していないため、キャンバスの実際のサイズは設定されていません。

setSize(new Dimension(WIDTH,HEIGHT));実際のサイズを設定するために使用します。

于 2013-01-12T21:12:14.060 に答える
2

これを試してみてください: setSize(new Dimension(WIDTH, HEIGHT));

于 2013-01-12T21:14:44.877 に答える
0

印刷するには、次を試してください: System.out.print(test.getWidth()) または: System.out.print(WIDTH)? 申し訳ありませんが、java.awt はあまり使用していませんが、最初のものが機能することを願っています。

于 2013-01-12T21:50:26.807 に答える