Note that there are some explanatory texts on larger screens.

plurals
  1. POjava swing paint method bonanza
    text
    copied!<p>I have a program that separates the application logic from the drawing. There are several color schemes, and I am wondering if this is acceptable programming or if there is a better way to accomplish selecting and drawing the color schemes:</p> <pre><code>public void paintComponent(Graphics g) { super.paintComponent(g); colorScheme = gameLogic.getColorScheme(); for (int i = 0; i &lt; gameLogic.getParticleArrSize(); i++) { if (colorScheme == 0) { setBackground(Color.WHITE); g.setColor(gameLogic.getParticleColor(i)); g.fillOval(gameLogic.getParticleXCoor(i), gameLogic.getParticleYCoor(i), gameLogic.getParticleSize(i), gameLogic.getParticleSize(i)); g.setColor(gameLogic.getCurrPartColor()); g.fillOval(mouseX - mouseOvalRadius, mouseY - mouseOvalRadius, mouseOvalSize, mouseOvalSize); g.setColor(gameLogic.getCursorColor()); g.fillOval(mouseX - 19, mouseY - 19, 38, 38); } else if (colorScheme == 1) { setBackground(Color.WHITE); g.setColor(gameLogic.getParticleBorderColor(i)); g.fillOval(gameLogic.getParticleXCoor(i) - 3, gameLogic.getParticleYCoor(i) - 3, gameLogic.getParticleSize(i) + 6, gameLogic.getParticleSize(i) + 6); g.setColor(gameLogic.getParticleColor(i)); g.fillOval(gameLogic.getParticleXCoor(i), gameLogic.getParticleYCoor(i), gameLogic.getParticleSize(i), gameLogic.getParticleSize(i)); g.setColor(gameLogic.getCurrPartColor()); g.fillOval(mouseX - mouseOvalRadius, mouseY - mouseOvalRadius, mouseOvalSize, mouseOvalSize); g.setColor(gameLogic.getCursorColor()); g.fillOval(mouseX - 19, mouseY - 19, 38, 38); } else if (colorScheme == 2) { setBackground(Color.BLACK); g.setColor(Color.WHITE); g.fillOval(gameLogic.getParticleXCoor(i) - 3, gameLogic.getParticleYCoor(i) - 3, gameLogic.getParticleSize(i) + 6, gameLogic.getParticleSize(i) + 6); g.setColor(gameLogic.getParticleColor(i)); g.fillOval(gameLogic.getParticleXCoor(i), gameLogic.getParticleYCoor(i), gameLogic.getParticleSize(i), gameLogic.getParticleSize(i)); g.setColor(Color.WHITE); g.fillOval(mouseX - mouseOvalRadius - 2, mouseY - mouseOvalRadius - 2, mouseOvalSize + 4, mouseOvalSize + 4); g.setColor(gameLogic.getCursorColor()); g.fillOval(mouseX - 19, mouseY - 19, 38, 38); } else if (colorScheme == 3) { setBackground(Color.WHITE); g.setColor(Color.BLACK); g.fill3DRect(gameLogic.getParticleXCoor(i) - 2, gameLogic.getParticleYCoor(i) - 2, gameLogic.getParticleSize(i) + 4, gameLogic.getParticleSize(i) + 4, true); g.setColor(gameLogic.getParticleColor(i)); g.fillRect(gameLogic.getParticleXCoor(i), gameLogic.getParticleYCoor(i), gameLogic.getParticleSize(i), gameLogic.getParticleSize(i)); g.setColor(Color.BLACK); g.fillRect(mouseX - mouseOvalRadius, mouseY - mouseOvalRadius, mouseOvalSize, mouseOvalSize); g.setColor(gameLogic.getCursorColor()); g.fillRect(mouseX - mouseOvalRadius + 7, mouseY - mouseOvalRadius + 7, mouseOvalSize - 14, mouseOvalSize - 14); } } } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload