我想繪製兩個JPanel之間的線;請驗證我的代碼,因爲它提供了一個空指針異常在 「g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);」兩個JPanel之間的繪製線
代碼::
Draw(JPanel one , JPanel two)
{
//Draw Line
Graphics2D g=null;
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setColor(Color.lightGray);
2d.fillRect(0, 0, getWidth(), getHeight());
g2d.setColor(Color.black);
Stroke s = new BasicStroke(4.0f);
// For getting the points of JPanel ona and two//
int x1 = one.getX() + one.getWidth()/2;
int y1 = one.getY() + one.getHeight()/2;
int x2 = one.getX() + one.getWidth()/2;
int y2 = two.getY() + two.getHeight()/2;
//Drawing line
g2d.drawLine(x1, y1, x2, y2);
}
什麼一個例子那麼呢?建議? – Asd
檢查更新的答案。 –
強烈推薦重寫任何組件的「paint」。我也相當肯定,如果你重寫父容器的'paint'方法,它仍然不能正常工作。花了一些時間與類似的問題,並遇到這個問題我的自我 – MadProgrammer