Цитата(oson @ 8.11.2009, 13:04 ) | | так мне ж не фреймом надо ограничить область где прорисовываются окружности, а ректанглом внутри имейджа |
так ты же делай каждую окружность внутри твоей панель.
| Код | import java.awt.*; import javax.swing.*;
public class Test extends JFrame { public Test() { setLayout(new FlowLayout());
add(new MyOval(new Rectangle(0, 0, 100, 100), new Point(50, 50))); add(new MyOval(new Rectangle(0, 0, 100, 100), new Point(10, 0))); add(new MyOval(new Rectangle(0, 0, 100, 100), new Point(5, 10))); add(new MyOval(new Rectangle(0, 0, 100, 100), new Point(20, 20))); }
public static void main(String [] args) { JFrame f = new Test(); f.setBounds(100, 100, 400, 300); f.setDefaultCloseOperation(3); f.setVisible(true); } }
class MyOval extends JPanel { Rectangle r; Point center;
MyOval(Rectangle r, Point center) { this.r = r; this.center = center; setPreferredSize(new Dimension(r.width, r.height)); }
public void paintComponent(Graphics g) { g.drawOval(center.x, center.y, r.width, r.height); } }
|
|