我正在開發和80年代的老年人開心繪製80撲克遊戲。從另一個類的框架JComponent repaint()
class DDHGamePanel extends JPanel{
...etc...
DDHAdvertising adv = new DDHAdvertising();
...etc...
public void paintComponent(Graphics g) {
adv.isOptimizedDrawingEnabled();
adv.setEnabled(true);
adv.repaint();
}
}
這是我遊戲的主面板。我拿出了很多代碼來使它更好。我有一個類DDHAdvertising,有一個繪畫組件。
public class DDHAdvertising extends JComponent {
public void paintComponent(Graphics g) {
super.paintComponent(g);
drawAdvertisingBanner(g,getBanner1(),30,30);
g.drawString ("Test",40,360);
}
}
我希望能夠在paintComponent
到底我JPanel
能夠重新繪製,與repaint()
方法擴展JComponent
任何類。我確信這可以做到,但我不知道該怎麼做。
我希望我的所有圖形類都有一些引用它的組件,例如將所有繪製到屏幕上的卡片都說出來。我想爲屏幕上的每個組件分配一個類,然後調用它的repaint()
方法,該方法應該調用該特定類的paintComponent()
方法。我已經閱讀了很多關於這個主題的文章,但是我沒有在代碼中看到這個特殊的例子。
歡迎使用計算器。你應該發佈一個[SSCCE](http://www.sscce.org),我不認爲人們會給你發送一封郵件,你應該在這裏發帖,因爲stackoverflow爲將來的訪問者提供了相同的相關問題..所以當你付出最大的努力去做最好的問題成爲答案。 – nachokk
你的問題是什麼?你看起來像「模板方法」嗎? – nachokk
*「我希望能夠在我的'JPanel'中的'paintComponent'的末尾能夠重繪任何使用'repaint()'方法擴展'JComponent'的類。」*爲什麼?如果你的意思是「DDHAdvertising」中包含的組件 - 它們用'super.paintComponent(g);'來計算。否則,應該不需要重新繪製其他任何東西。這樣做是爲了顯示**這個自定義組件會導致無限遞歸的容器。 –