0

異なるサイズの長方形を描画してみてください。1 つのフレームに均等に収まる方法を教えてください (フレームが固定されていると仮定します)。

public class Draw extends JComponent {
    public void paint(Graphics g) {
        int width = 100;
        int length = 100;
        g.drawRect(10, 10, width, length);
    }
}

public class DrawRect { 
    public static void main(String[] a) {
        JFrame frame = new JFrame();
        frame.setSize(400, 600));
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);

        Container content = frame.getContentPane();
        content.add(new Draw());
   }
}
4

1 に答える 1

2
  1. paintComponent(...)カスタム ペイントは、paint() メソッドではなくメソッドをオーバーライドすることによって行われます。このアドバイスは毎日行われます。詳細と例については、フォーラムを検索してください。

  2. コンポーネントが使用できるスペースを知りたい場合は、getWidth() および getHeight() メソッドを呼び出すことができます。これらの値がわかったら、四角形をどのくらいの大きさにペイントするかを決定できます。

  3. コンポーネントは、フレームが表示される前にフレームに追加する必要があります。

  4. getContentPane() メソッドを使用する必要はありません。JDK5 以降、コンポーネントをフレームに直接追加するだけで、コンテンツ ペインに追加されます。

于 2013-05-07T01:30:51.680 に答える