2012-11-22 35 views
0

我需要繪製給定起點和終點的多項式。我已經着眼於使用疼痛組件來做這件事,但我感到困惑,因爲起點位於左上角,我需要我的網格線是動態的。使用java GUI繪製函數

我該如何做到這一點,我可以創建一個動態的規模和最適合繪製函數的java類是什麼?

例如,如果用戶輸入-2 2 x^2,則繪圖儀需要創建一個從-2開始的網格,在x座標中,中間爲0,右側爲2。然而,如果用戶輸入x^3,我們在y平面中具有負座標,並且需要將包含x座標的行滑動到合適的位置。

謝謝!

回答

0

我認爲你可以做到這一點(我可能錯了)的方式是繪製圖的y線和x線,並在正確的位置使用drawString標記x和y的值。 爲了說明這一點,我做了這個例子給你:

public void paintComponent(Graphics g) 
{ 
    Graphics2D g2 = (Graphics2D) g; 

    Point2D.Double from = new Point2D.Double(300, 100); 
    Point2D.Double to = new Point2D.Double(300, 300); 

    Line2D.Double line = new Line2D.Double(from, to); 
    g2.draw(line); 

    Point2D.Double from2 = new Point2D.Double(150, 200); 
    Point2D.Double to2 = new Point2D.Double(450, 200); 
    Line2D.Double line2 = new Line2D.Double(from2, to2); 
    g2.draw(line2); 

    g2.drawString("-1", 290, 215); 
} 

拉繩方法將借鑑「-1」的0。所以你可以使用同樣的事情畫-2低於-1等

我知道這聽起來效率低下,但這是我能想到的唯一方法。

希望別人能爲你提供更好的解決方案。

0

如果知道要繪製的區域的大小,轉換y座標應該不會太困難。但說實話,你爲什麼不使用像JFreeChart這樣的繪圖庫?......?