1
當用戶輸入函數I.E.時,我正在通過Java GUI編寫圖形計算器(是的,我知道這裏有庫)。 x^6,我希望抽屜根據最小值和最大值動態調整自己的大小。在Java GUI中動態調整2D繪圖框的大小
例如,如果用戶輸入的x^2從-4到4 I具有0分鐘和16的最大值,所以我想顯示在框中全圖,並適當大小它。現在這個圖很小,如果我使用x^6作爲多項式,它看起來非常擁擠。
下面是我在哪裏。
Graphics2D g2 = (Graphics2D) g;
double myStart1 = Double.parseDouble(myStart);
double myEnd1 = Double.parseDouble(myEnd);
g2.translate(getWidth()/2, getHeight()/2);
g2.scale(5.0, 5.0);
g2.draw(new Line2D.Double(-myStart1 * 100,0, -myEnd1 * 100,0));
if (min < 0) {
g2.draw(new Line2D.Double(0, -min * 100, 0, -max * 100));
} else {
g2.draw(new Line2D.Double(0, min * 100, 0, -max * 100));
}
g2.setColor(Color.RED);
for (int i = 0; i < x.length; i++) {
if (i + 1 < x.length) {
g2.draw(new Line2D.Double(x[i], -y[i], x[i + 1], -y[i + 1]));
} else {
break;
}
}
}
無需進一步方面,'paint'不負責調整大小的內容,該組件是。 – MadProgrammer
是的,但是我使用g2的scale屬性來做到這一點嗎?規模實際上是做什麼的?它是否實際上改變了抽屜的組成部分,還是隻是讓事情變得更大? –
這就像試圖在photoshop中放大圖像一樣。它會影響整體像素大小... – MadProgrammer