هنا أقوم بعمل لوحة مقسمة إلى 6 صفوف و 7 أعمدة .
-------------------------------------------------------------------------
ستجدون loop خاصة بالأعمدة و ترسم 7 أعمدة
و loop أخرى خاصة بالصفوف طبقاً للكود يجب أن ترسم 6 صفوف فقط و لكن للأسف انها تقوم برسم صف سابع .... لماذا ؟؟؟
جربت طرق عديدة و لكن مازلت الحلقة المختصة بالصفوف ترسم 7 صفوف .
انظروا الكود :
--------------------
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JFrame;
public class TestNet extends JFrame {
private DrawingNet drawingNet;
public TestNet() {
drawingNet = new DrawingNet();
getContentPane().add(drawingNet, BorderLayout.CENTER);
}
public static void main(String[] args) {
TestNet testNet = new TestNet();
testNet.setDefaultCloseOperation(TestNet.EXIT_ON_CLOSE);
testNet.setSize(new Dimension(600, 300));
testNet.setLocationRelativeTo(null);
testNet.setVisible(true);
testNet.setExtendedState(MAXIMIZED_BOTH);
}
}
-------------------------------------------------------------
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
class DrawingNet extends JPanel {
private static final int ROW = 6, COL = 7;
public DrawingNet() {
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
int X_START = 83, Y_START = 100, DISTANCE = 0;
g.setColor(Color.BLACK);
for (int c = 0; c < COL; c++) {
for (int r = 0; r < ROW; r++) {
g.drawLine(X_START, Y_START + DISTANCE, X_START * COL, Y_START + DISTANCE);
g.drawLine(X_START + DISTANCE, Y_START, X_START + DISTANCE, (Y_START * ROW) - 83);
}
DISTANCE += 83;
}
}
}الكود مرفق
شكراً
