2

jframeではなくjpanelで定規(90度の角度の目盛りが付いた線)を描くようにしたい。

だから私は試しました:

JFrame f = new JFrame();
JPanel ff = new JPanel();

ff.add(new JComponent() {
...
});

f.add(ff);
...

しかし、私は失敗しました。:( 方法?

4

1 に答える 1

4

paintComponent(Graphics g){}単にff をオーバーライドして、そのメソッド内で描画できます。

すなわち

JPanel ff = new JPanel(){ 
    public void paintComponent(Graphics g){
        // Draw what you want to appear on your JPanel here.
        // g.drawLine(blah blah blah), etc.
    }
};

その場合、これは必要ありません...

ff.add(new JComponent() {
    ...
});

提供したリンクで提案されているようにカスタム コンポーネントを実装する場合を除き、この汎用コンポーネントは必要ありません。そのようなカスタム コンポーネントを作成したい場合ff、JFrame はすでにコンポーネントを保持できるコンテナであるため、必要ありません。

于 2013-01-04T20:29:22.420 に答える