1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282
|
public class ViewDossierTor extends JFrame
{
private Image1 image1;
public ViewDossierTor(Controller controller)
{
this.setTitle("Compte rendu du dossier");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(w, h);
JScrollPane scroll = new JScrollPane(getPanel());
scroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
scroll.setPreferredSize(new Dimension(190, 100));
this.add(scroll);
}
public JTextPane getPanel ()
{
JTextPane jTextPane = new JTextPane();
jTextPane.setEditable(true);
// définition des styles
Style defaut = jTextPane.getStyle("default");
StyleConstants.setFontSize(defaut, 13);
StyleConstants.setFontFamily(defaut, "TimesRoman");
Style style1 = jTextPane.addStyle("style1", defaut);
StyleConstants.setFontFamily(style1, "TimesRoman");
StyleConstants.setFontSize(style1, 16);
StyleConstants.setBold(style1, true);
Style style2 = jTextPane.addStyle("style2", jTextPane.getLogicalStyle());
StyleConstants.setBold(style2, true);
StyleConstants.setFontSize(style2, 14);
Style style3 = jTextPane.addStyle("style3", jTextPane.getLogicalStyle());
StyleConstants.setBold(style3, true);
StyleConstants.setFontSize(style3, 13);
//StyleConstants.setForeground(style1, Color.BLACK);
String s1 = "I- PREAMBULE\n\n";
String s2 = " La société ACSON a été mandatée par Monsieur "+ s_nom + " afin de réaliser l'étude acoustique de sa maison située "+ s_rue +" à "+ s_ville+ " ("+ s_codePostal+ ") .\nCette étude se fait sur plans et à partir du cahier des charges du constructeur. Elle permet de définir les isolements acoustiques des bâtiments d'habitation par rapport à l'arrêté du 30 mai 1996 en vigueur.\nNous proposerons éventuellement les matériaux à mettre en oeuvre en façade afin que les isolements soient respectés d'un point de vue règlementaire.\n\n\n";
String s3 = "II- APPLICATION DE L'ARRÊTE DU 30 MAI 1996\n\n";
String s4 = "La réglementation acoustique a évoluée en 1994 et 1995. Les textes correspondants sont appliqués depuis janvier 1996 sous le nom de Nouvelle Réglementation Acoustique ou NRA.\n\n";
String s5 = "La normalisation européenne a retenu:\n\n";
String s6 = " Des méthodes de calcul des indices d'évaluation de la qualité acoustique d'un bâtiment.\n";
String s7 = " Des indices uniques d'évaluation de la performance acoustique des produits.\n\n";
String s8 = "L'ensemble est transposé dans tous les pays de l'Union avant le 1er janvier 2000.\nDeux nouveaux arrêtés du 30 juin 1999 s'appliquent désormais aux bâtiments dont le permis de construrie ou la déclaration de traveaux pour la surélévation ou addition aux bâtiments existants ont été transposés après le 1er janvier 2000.\n\n";
String s9 = " 2.1- Les changements acoustiques\n\n";
String s10 = "Les principaux changements concernent:\n\n";
String s11 = "La réglementation: ";
String s12 = "Le niveau d'exigence règlementaire demandé aux constructions reste équivalent.\n";
String s13 = "La prescription: ";
String s14 = "Les nouveaux indices sont à respecter.\n";
String s15 = "Les produits: ";
String s16 = "La caractérisation des produits change.\n";
String s17 = "Le contrôle et mesures de réception: ";
String s18 = "Le calcul des limites des indices à partir des mesures est différent d'auparavant.\n\n";
String s19 = " 2.2- Isolement contre les bruits des transports terrestres\n\n";
String s20 = "La détermination de l'isolement acoustique minimal des bâtiments d'habitation contre les bruits des transports terrestres est définie par l'arrêté du 30 mai 1996.\n\n";
String s21 = " 2.2.1- Classement des infrastructures de transports terrestres\n\n";
String s22 = "Le classement des infrastructures de transports terrestres et la largeur maximale des secteurs affectés par le bruit de part et d'autre de l'infrastructure, sont définis en fonction des niveaux sonores de référence, dans le tableau suivant:\n\n";
String s23 = "D'autre part, le tissus urbain intervient dans la définition de l'isolement. Nous avons en tissus ouvert pour les infrastructures routières, le bord extérieur de la chaussée la plus proche:\n\n";
String s24 = "Les valeurs du tableau précédent tiennent compte de l'influence de condition météorologique standart. Ces valeurs peuvent être diminuées de façon à prendre en compte l'orientation de la façade par rapport à l'infrastructure, la présence d'obstacle tels un écran ou un bâtiment entre l'infrastructure et la façade pour laquelle on cherche à déterminer l'isolement, conformémént aux indications du tableau suivant:\n\n";
String s25 = "Selon l'exposition des façades, des corrections sont appliquées à l'isolement retenu pour la façade la plus exposée et correspondant à la situation de l'habitation par rapport à la voie la plus nuisible.\n";
String s26 = "Ces valeurs sont diminuées, sans toutefois pouvoir être inférieures à 30 dB(A):\n\n";
String s27 = " - en effectuant un décalage d'une classe d'isolement pour les façades latérales;\n";
String s28 = " - en effectuant un décalage de deux classes d'isolement pour les façades arrières.\n\n";
String s29 = " 2.2.2- Situation du projet\n\n";
String s30 = "Le projet se situe à "+s_ville+" ("+s_codePostal+"). L'habitation se trouve dans la zone des "+s_dist+" mètres de "+s_typeRoute+" "+s_codeRoute+" classée en catégorie "+s_catégorie+" en tissu ouvert.\n\n";
String s31 = " 2.2.3- Isolements à respecter\n\n";
String s32 = "Compte tenu de l'éloignement de l'habitation par rapport à la voie classée, et de la proximité de la voie de type "+s_catégorie+", l'isolement en façade doit être de "+s_face+" dB(A) sur la façade exposée face à la voie, en toiture exposée, ainsi qu'un isolement de "+s_arr+" dB(A) pour la façade "+s_orrFace+" et "+s_lat+" dB(A) pour les façades latérales.\n\n";
String s33 = "Les isolements s'étendent sur toutes les façades vitrées de l'habitation et concernent les pièces principales et pièces de vie.\n\n\n";
String s34 = "III- ANALYSE\n\n";
String s35 = "On s'appuie sur le logiciel ACOUBAT du C.S.T.B (Centre Scientifique et Technique du Bâtiment) pour évaluer les isolements obtenus avec les matériaux définis dans le dossier et tester quelques traitements si nécessaire.\n\n";
String s36 = " 3.1- Matériaux définis pour ce type de maison\n\n";
String s37 = "Voici les caractéristiques acoustiques des matériaux définis par le maître d'oeuvre "+s_constructeur+":\n\n";
String s38 = " 3.2- Calcul de l'isolement acoustique en façade\n\n";
String s39 = "L'isolement acoustique est tributaire des paramètres suivants:\n";
String s40 = " - R = "+s_r+" dB (indice d'affaiblissement global de la paroi exposée au bruit extérieur)\n";
String s41 = " - V = "+s_vol+" m3 (volume de la pièce)\n";
String s42 = " - S = "+s_surf+" m2 (surface apparente au bruit)\n";
String s43 = " - TL = "+s_tl+" dB (transmissions latérales)\n\n";
String s44 = "Les salles de bain et buanderie ne sont pas considérées comme des pièces de vie. Il en est de même pour les combles non aménageables.\n\n";
String s45 = " 3.3- Matériaux à retenir\n\n";
String s46 = "L'ensemble des matériaux prédéfinis ne permet pas de satisfaire les isolements en façade pour les pièces, en particulier pour les vitrages et les entrées d'air.\n";
String s47 = "L'ensemble des matériaux prédéfinis par le contructeur permet de satisfaire pleinement les isolements en façade pour toutes les pièces de la maison, le dossier de certification acoustique est donc clos.";
String s48 = "Nous proposons donc de disposer:\n\n";
String s50[][] = new String[7][20];
String s51 = "IV- CONCLUSION\n\n";
String s52 = "Il est impératif que le maître d'oeuvre mette en oeuvre les matériaux définis pour satisfaire une isolation de "+s_face+" dB(A) sur les façade frontales et "+s_lat+" dB(A) sur les façades latérales pour faire face aux bruits routiers.\n\n";
String s53 = "Les entreprises devront justifier au maître d'oeuvre ainsi qu'au maître d'ouvrage les performances de ces matériaux à l'aide des procès verbaux du CSTB ou à l'aide d'avis technique.\n\n";
String s54 = "Le bureau d'étude ACSON reste à votre disposition pour tout complément d'information.\n_n";
String s55 = "Fait à "+s_lieu_etude+", le "+s_date_etude+" "+s_technicien_etude+"";
StyledDocument sDoc = (StyledDocument)jTextPane.getDocument();
try
{
int pos = 0;
sDoc.insertString(pos, s1, style1);pos+=s1.length();
sDoc.insertString(pos, s2, defaut);pos+=s2.length();
sDoc.insertString(pos, s3, style1);pos+=s3.length();
sDoc.insertString(pos, s4, defaut);pos+=s4.length();
sDoc.insertString(pos, s5, defaut);pos+=s5.length();
sDoc.insertString(pos, s6, defaut);pos+=s6.length();
sDoc.insertString(pos, s7, defaut);pos+=s7.length();
sDoc.insertString(pos, s8, defaut);pos+=s8.length();
sDoc.insertString(pos, s9, style2);pos+=s9.length();
sDoc.insertString(pos, s10, style3);pos+=s10.length();
sDoc.insertString(pos, s11, style3);pos+=s11.length();
sDoc.insertString(pos, s12, defaut);pos+=s12.length();
sDoc.insertString(pos, s13, style3);pos+=s13.length();
sDoc.insertString(pos, s14, defaut);pos+=s14.length();
sDoc.insertString(pos, s15, style3);pos+=s15.length();
sDoc.insertString(pos, s16, defaut);pos+=s16.length();
sDoc.insertString(pos, s17, style3);pos+=s17.length();
sDoc.insertString(pos, s18, defaut);pos+=s18.length();
sDoc.insertString(pos, s19, style2);pos+=s19.length();
sDoc.insertString(pos, s20, defaut);pos+=s20.length();
sDoc.insertString(pos, s21, style2);pos+=s21.length();
sDoc.insertString(pos, s22, defaut);pos+=s22.length();
// image
try
{
image1 = new Image1(ImageIO.read(new File("images/tableau2.jpg")));
}
catch (IOException e)
{
e.printStackTrace();
}
Style style = sDoc.addStyle("StyleName", null);
StyleConstants.setIcon(style, new ImageIcon(image1.getImage1()));
//StyleConstants.setIcon(style, ImageIcon(image1.getImage1()));
sDoc.insertString(sDoc.getLength(), "ignored text", style);
sDoc.insertString(pos, s23, defaut);pos+=s23.length();
sDoc.insertString(pos, s24, defaut);pos+=s24.length();
sDoc.insertString(pos, s25, defaut);pos+=s25.length();
//image
sDoc.insertString(pos, s26, defaut);pos+=s26.length();
sDoc.insertString(pos, s27, defaut);pos+=s27.length();
sDoc.insertString(pos, s28, defaut);pos+=s28.length();
sDoc.insertString(pos, s29, style2);pos+=s29.length();
sDoc.insertString(pos, s30, defaut);pos+=s30.length();
sDoc.insertString(pos, s31, style2);pos+=s31.length();
sDoc.insertString(pos, s32, defaut);pos+=s32.length();
sDoc.insertString(pos, s33, style3);pos+=s33.length();
sDoc.insertString(pos, s34, style2);pos+=s34.length();
sDoc.insertString(pos, s35, defaut);pos+=s35.length();
sDoc.insertString(pos, s36, style2);pos+=s36.length();
sDoc.insertString(pos, s37, defaut);pos+=s37.length();
sDoc.insertString(pos, s38, style2);pos+=s38.length();
sDoc.insertString(pos, s39, defaut);pos+=s39.length();
sDoc.insertString(pos, s40, defaut);pos+=s40.length();
sDoc.insertString(pos, s41, defaut);pos+=s41.length();
sDoc.insertString(pos, s42, defaut);pos+=s42.length();
sDoc.insertString(pos, s43, defaut);pos+=s43.length();
sDoc.insertString(pos, s44, defaut);pos+=s44.length();
sDoc.insertString(pos, s45, style2);pos+=s45.length();
}
catch (BadLocationException e)
{
}
return jTextPane;
}
public class Image1 extends JPanel implements Serializable
{
private Image image1 = null;
private boolean streched = false;
public Image1(Image image)
{
this.image1 = image; // image de fond
}
public Image1()
{
}
public void setImage1 (Image image)
{
this.image1=image;
}
public Image getImage1 ()
{
return image1;
}
public void setStreched (boolean streched)
{
this.streched = streched;
}
public boolean isStreched()
{
return streched;
}
public Dimension getPreferredSize()
{
return new Dimension(image1.getWidth(null), image1.getHeight(null));
}
public void paintComponent(Graphics g)
{
super.paintComponents(g);
if(image1 != null)
{
if(streched)
{
g.drawImage(image1, 0, 0, getWidth(), getHeight(), null);
}
else
{
g.drawImage(image1, 0, 0, null);
}
}
}
}
} |