diff --git a/DEV 3.1/TP3/Tableau/Tableau.java b/DEV 3.1/TP3/Tableau/Tableau.java index 237fe2b..62556b4 100644 --- a/DEV 3.1/TP3/Tableau/Tableau.java +++ b/DEV 3.1/TP3/Tableau/Tableau.java @@ -19,16 +19,77 @@ public class Tableau { System.err.println("Unable to access Database."); return; } + + JFrame f = new JFrame(); + f.setLayout(new GridBagLayout()); + f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + f.setSize(150, 500); + + GridBagConstraints g = new GridBagConstraints(); try { PreparedStatement req = cnx.prepareStatement("SELECT Module.code, Champ.code FROM Champ JOIN Module ON Champ.id = Module.id ORDER BY Module.code ASC;"); req.executeUpdate(); ResultSet rs = req.executeQuery(); - + + String lastMod = null; + int length = 0; + int count = 0; + while (rs.next()) { - System.out.println(rs.getString(1) + " " + rs.getString(2)); + String moduleName = rs.getString(1); + String fieldName = rs.getString(2); + + if (!moduleName.equals(lastMod) && lastMod != null) { + JLabel modLabel = new JLabel(lastMod); + modLabel.setBorder(BorderFactory.createLineBorder(Color.BLACK)); + g.gridx = 1; + g.gridy = count - length; + g.gridwidth = 1; + g.gridheight = length; + g.anchor = GridBagConstraints.CENTER; + g.fill = GridBagConstraints.BOTH; + g.weightx = 1f; + g.weighty = 1f; + g.insets = new Insets(0, 0, 0, 0); + f.add(modLabel, g); + length = 0; + lastMod = moduleName; + } else { + lastMod = moduleName; + } + + JLabel fieldLabel = new JLabel(fieldName); + fieldLabel.setBorder(BorderFactory.createLineBorder(Color.BLACK)); + + g.gridx = 2; + g.gridy = count; + g.gridwidth = 1; + g.gridheight = 1; + g.anchor = GridBagConstraints.CENTER; + g.fill = GridBagConstraints.BOTH; + g.weightx = 1f; + g.weighty = 1f; + g.insets = new Insets(0, 0, 0, 0); + f.add(fieldLabel, g); + + length++; + count++; } + JLabel modLabel = new JLabel(lastMod); + modLabel.setBorder(BorderFactory.createLineBorder(Color.BLACK)); + g.gridx = 1; + g.gridy = count - length; + g.gridwidth = 1; + g.gridheight = length; + g.anchor = GridBagConstraints.CENTER; + g.fill = GridBagConstraints.BOTH; + g.weightx = 1f; + g.weighty = 1f; + g.insets = new Insets(0, 0, 0, 0); + f.add(modLabel, g); + rs.close(); req.close(); @@ -37,6 +98,8 @@ public class Tableau { System.err.println (ex); } + f.setVisible(true); + try { cnx.close(); } catch (SQLException ex) {