У меня есть эта форму кривой, и я хотел, чтобы размер и высота изменялись соответственно относительно размера моего JFrame, например размер моего JFrame установлен в SetSize (440, 300); - а затем, если я максимизирую свой JFrame, я хотел бы, чтобы форма кривой также изменялась, так что форма сохранила бы свою фактическую цифру. Любая помощь, оцените заранее. Спасибо,resize cubcurve on jframe resisize
вот мой код:
float offset = (float) Math.sin(Math.PI);
x1 = offset;
y1 = (height/4.0f) - 4.0f;
x1ctl = ((width/4) - 140) + 90.0f;
y1ctl = ((height/4) - 100) + 20.0f;
x2ctl = ((width/4) - 10.0f) + 60.0f;
y2ctl = ((height/4) - 8.0f) + 1.0f;
x2 = (width/2.0f) - 20.0f;
y2 = offset - 4.0f;
curve = new CubicCurve2D.Float(
x1,y1,
x1ctl,y1ctl,
x2ctl,y2ctl,
x2,y2);
g2d.draw(curve);
Благодарим за быстрый ответ. Я ценю это. Да, это переопределение paintComponent, и я уже это сделал. То, что я искал, заключается в том, что при изменении размера вашего JFrame существует ли способ, которым кривая могла бы поддерживать его реальный внешний вид? например, здесь размер кадра равен (440, 300), и если вы попытаетесь максимизировать JFrame, кубирум начинает казаться чем-то вроде прямой, теряющей свою естественную форму кривой. Я пытаюсь найти способ, чтобы точки кривой шли по мере изменения размера рамки? – eLL
@eLL Не уверен, какова логика координат кривой в вашем примере, но кажется, что они связаны с 440 и 300. Должна быть более общая формула, поэтому кривая сохраняет свою форму при изменении размера контейнера. – tenorsax
это именно то, что вы думаете. Я ищу формулу для этих точек кривой, так что если размер рамки Jframe больше или меньше, кубическая куба сохраняет ее форму: знаете ли вы более точный способ достижения этого? float x1ctl = ((getWidth()/4) - 140) + 90.0f; float y1ctl = ((getHeight()/4) - 100) + 20.0f; float x2ctl = ((getWidth()/4) - 10.0f) + 60.0f; float y2ctl = ((getHeight()/4) - 8.0f) + 1.0f; Любая помощь, оценка заранее. – eLL