GridBagLayout を埋める 2 つの for ループをコーディングしました。どういうわけか、2 番目の条件が機能しないため、例外が発生します。
つまり、プログラムの基本的な動作は次のとおりです。MySQL サーバーからデータを取得し、それを GridBagLayout にリストします。rs.lenght
したがって、 andを使用して行の長さを取得しrs.getRow()
ます。lenghtCounter
内側の for ループ (x 変数を使用)にコピーするよりも。内側の for ループは、3 サイクル後、または lengthCounter が 0 の場合に実行する必要があります。代わりに、それは続行され、例外が発生します。
コードは次のとおりです。
try {
ResultSet rs = MySQL.getStatement().executeQuery(
"select * from obj_house");
rs.last();
int lenghtCounter = rs.getRow();
int lenght = lenghtCounter;
rs.first();
System.out.println(lenghtCounter + " " + (lenght / 3));
for (int y = 0; y <= (lenght / 3); y++) {
for (int x = 0; x < 3 || lenghtCounter==0; x++) {
System.out.println("ID " + lenghtCounter);
JButton street = new JButton("Strasse: " + rs.getString(5));
gbcOut.gridx = x;
gbcOut.gridy = y;
panelBottom.add(street, gbcOut);
System.out.println("X: " + x);
System.out.println("Y: " + y);
rs.next();
lenghtCounter--;
System.out.println("lenght: " + lenghtCounter);
}
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}