1 32 33 package it.businesslogic.ireport.gui; 34 35 import it.businesslogic.ireport.IReportFont; 36 import it.businesslogic.ireport.util.*; 37 import it.businesslogic.ireport.*; 38 import it.businesslogic.ireport.gui.sheet.Tag; 39 40 import java.util.*; 41 42 46 public class JRFontDialog extends javax.swing.JDialog { 47 48 private IReportFont iReportFont = new IReportFont(); 49 private boolean init = false; 50 private boolean reportFontMode = true; 51 52 public JRFontDialog(java.awt.Frame parent, boolean modal) { 53 54 super(parent, modal); 55 initComponents(); 56 this.setSize(420, 344); 57 applyI18n(); 58 Misc.centerFrame(this); 59 60 jNumberComboBoxSize.addEntry("3",3); 61 jNumberComboBoxSize.addEntry("5",5); 62 jNumberComboBoxSize.addEntry("8",8); 63 jNumberComboBoxSize.addEntry("10",10); 64 jNumberComboBoxSize.addEntry("12",12); 65 jNumberComboBoxSize.addEntry("14",14); 66 jNumberComboBoxSize.addEntry("18",18); 67 jNumberComboBoxSize.addEntry("24",24); 68 jNumberComboBoxSize.addEntry("36",36); 69 jNumberComboBoxSize.addEntry("48",48); 70 71 jNumberComboBoxSize.setSelectedIndex(3); 72 73 jComboBoxPdfEncoding.addItem(new PdfEncoding("Cp1250","CP1250 (Central European)")); 74 jComboBoxPdfEncoding.addItem(new PdfEncoding("Cp1251","CP1251 (Cyrillic)")); 75 jComboBoxPdfEncoding.addItem(new PdfEncoding("Cp1252","CP1252 (Western European ANSI aka WinAnsi)")); 76 jComboBoxPdfEncoding.addItem(new PdfEncoding("Cp1253","CP1253 (Greek)")); 77 jComboBoxPdfEncoding.addItem(new PdfEncoding("Cp1254","CP1254 (Turkish)")); 78 jComboBoxPdfEncoding.addItem(new PdfEncoding("Cp1255","CP1255 (Hebrew)")); 79 jComboBoxPdfEncoding.addItem(new PdfEncoding("Cp1256","CP1256 (Arabic)")); 80 jComboBoxPdfEncoding.addItem(new PdfEncoding("Cp1257","CP1257 (Baltic)")); 81 jComboBoxPdfEncoding.addItem(new PdfEncoding("Cp1258","CP1258 (Vietnamese)")); 82 jComboBoxPdfEncoding.addItem(new PdfEncoding("UniGB-UCS2-H","UniGB-UCS2-H (Chinese Simplified)")); 83 jComboBoxPdfEncoding.addItem(new PdfEncoding("UniGB-UCS2-V","UniGB-UCS2-V (Chinese Simplified)")); 84 jComboBoxPdfEncoding.addItem(new PdfEncoding("UniCNS-UCS2-H","UniCNS-UCS2-H (Chinese traditional)")); 85 jComboBoxPdfEncoding.addItem(new PdfEncoding("UniCNS-UCS2-V","UniCNS-UCS2-V (Chinese traditional)")); 86 jComboBoxPdfEncoding.addItem(new PdfEncoding("UniJIS-UCS2-H","UniJIS-UCS2-H (Japanese)")); 87 jComboBoxPdfEncoding.addItem(new PdfEncoding("UniJIS-UCS2-V","UniJIS-UCS2-V (Japanese)")); 88 jComboBoxPdfEncoding.addItem(new PdfEncoding("UniJIS-UCS2-HW-H","UniJIS-UCS2-HW-H (Japanese)")); 89 jComboBoxPdfEncoding.addItem(new PdfEncoding("UniJIS-UCS2-HW-V","UniJIS-UCS2-HW-V (Japanese)")); 90 jComboBoxPdfEncoding.addItem(new PdfEncoding("UniKS-UCS2-H","UniKS-UCS2-H (Korean)")); 91 jComboBoxPdfEncoding.addItem(new PdfEncoding("UniKS-UCS2-V","UniKS-UCS2-V (Korean)")); 92 jComboBoxPdfEncoding.addItem(new PdfEncoding("Identity-H","Identity-H (Unicode with horizontal writing)")); 93 jComboBoxPdfEncoding.addItem(new PdfEncoding("Identity-V","Identity-V (Unicode with vertical writing)")); 94 95 String [] fontFamilies = java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames(); 97 for (int i=0; i<fontFamilies.length; ++i) 98 { 99 jComboBoxFontName.addItem(fontFamilies[i]); 100 } 101 102 jComboBoxReportFonts.setVisible(false); 103 104 105 javax.swing.KeyStroke escape = javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ESCAPE, 0, false); 106 javax.swing.Action escapeAction = new javax.swing.AbstractAction () { 107 public void actionPerformed(java.awt.event.ActionEvent e) { 108 jButtonCancelActionPerformed(e); 109 } 110 }; 111 112 getRootPane().getInputMap(javax.swing.JComponent.WHEN_IN_FOCUSED_WINDOW).put(escape, "ESCAPE"); 113 getRootPane().getActionMap().put("ESCAPE", escapeAction); 114 115 116 this.getRootPane().setDefaultButton(this.jButtonOK); 118 } 119 120 125 private void initComponents() { 127 java.awt.GridBagConstraints gridBagConstraints; 128 129 jPanelFont = new javax.swing.JPanel (); 130 jLabel23 = new javax.swing.JLabel (); 131 jTextFieldReportFont = new javax.swing.JTextField (); 132 jLabel24 = new javax.swing.JLabel (); 133 jLabel27 = new javax.swing.JLabel (); 134 jComboBoxFontName = new javax.swing.JComboBox (); 135 jNumberComboBoxSize = new it.businesslogic.ireport.gui.JNumberComboBox(); 136 jLabel25 = new javax.swing.JLabel (); 137 jComboBoxPDFFontName = new javax.swing.JComboBox (); 138 jPanel2 = new javax.swing.JPanel (); 139 jCheckBoxBold = new javax.swing.JCheckBox (); 140 jCheckBoxUnderline = new javax.swing.JCheckBox (); 141 jCheckBoxItalic = new javax.swing.JCheckBox (); 142 jCheckBoxStrokeTrough = new javax.swing.JCheckBox (); 143 jSeparator2 = new javax.swing.JSeparator (); 144 jPanel3 = new javax.swing.JPanel (); 145 jPanel4 = new javax.swing.JPanel (); 146 jCheckBoxPDFEmbedded = new javax.swing.JCheckBox (); 147 jCheckBoxDefaultFont = new javax.swing.JCheckBox (); 148 jPanel5 = new javax.swing.JPanel (); 149 jLabel32 = new javax.swing.JLabel (); 150 jComboBoxPdfEncoding = new javax.swing.JComboBox (); 151 jSeparator3 = new javax.swing.JSeparator (); 152 jPanel6 = new javax.swing.JPanel (); 153 jPanel7 = new javax.swing.JPanel (); 154 jButtonOK = new javax.swing.JButton (); 155 jButtonCancel = new javax.swing.JButton (); 156 jButtonResetAllToDefault = new javax.swing.JButton (); 157 jComboBoxReportFonts = new javax.swing.JComboBox (); 158 159 getContentPane().setLayout(new java.awt.GridBagLayout ()); 160 161 setTitle("Add/modify report font"); 162 setModal(true); 163 setResizable(false); 164 addWindowListener(new java.awt.event.WindowAdapter () { 165 public void windowClosing(java.awt.event.WindowEvent evt) { 166 closeDialog(evt); 167 } 168 }); 169 170 jPanelFont.setLayout(new java.awt.GridBagLayout ()); 171 172 jLabel23.setText("Report font"); 173 gridBagConstraints = new java.awt.GridBagConstraints (); 174 gridBagConstraints.gridx = 0; 175 gridBagConstraints.gridy = 0; 176 gridBagConstraints.gridwidth = 2; 177 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 178 gridBagConstraints.weightx = 1.0; 179 jPanelFont.add(jLabel23, gridBagConstraints); 180 181 gridBagConstraints = new java.awt.GridBagConstraints (); 182 gridBagConstraints.gridx = 0; 183 gridBagConstraints.gridy = 1; 184 gridBagConstraints.gridwidth = 2; 185 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 186 gridBagConstraints.weightx = 1.0; 187 jPanelFont.add(jTextFieldReportFont, gridBagConstraints); 188 189 jLabel24.setText("Font name"); 190 gridBagConstraints = new java.awt.GridBagConstraints (); 191 gridBagConstraints.gridx = 0; 192 gridBagConstraints.gridy = 2; 193 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 194 gridBagConstraints.weightx = 1.0; 195 gridBagConstraints.insets = new java.awt.Insets (4, 0, 0, 0); 196 jPanelFont.add(jLabel24, gridBagConstraints); 197 198 jLabel27.setText("Size"); 199 gridBagConstraints = new java.awt.GridBagConstraints (); 200 gridBagConstraints.gridx = 1; 201 gridBagConstraints.gridy = 2; 202 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 203 gridBagConstraints.insets = new java.awt.Insets (4, 4, 0, 0); 204 jPanelFont.add(jLabel27, gridBagConstraints); 205 206 jComboBoxFontName.addActionListener(new java.awt.event.ActionListener () { 207 public void actionPerformed(java.awt.event.ActionEvent evt) { 208 jComboBoxFontNameActionPerformed(evt); 209 } 210 }); 211 212 gridBagConstraints = new java.awt.GridBagConstraints (); 213 gridBagConstraints.gridx = 0; 214 gridBagConstraints.gridy = 3; 215 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 216 jPanelFont.add(jComboBoxFontName, gridBagConstraints); 217 218 jNumberComboBoxSize.setMinimumSize(new java.awt.Dimension (70, 22)); 219 jNumberComboBoxSize.setPreferredSize(new java.awt.Dimension (70, 22)); 220 jNumberComboBoxSize.addActionListener(new java.awt.event.ActionListener () { 221 public void actionPerformed(java.awt.event.ActionEvent evt) { 222 jNumberComboBoxSizeActionPerformed(evt); 223 } 224 }); 225 226 gridBagConstraints = new java.awt.GridBagConstraints (); 227 gridBagConstraints.gridx = 1; 228 gridBagConstraints.gridy = 3; 229 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 230 gridBagConstraints.insets = new java.awt.Insets (0, 4, 0, 0); 231 jPanelFont.add(jNumberComboBoxSize, gridBagConstraints); 232 233 jLabel25.setText("PDF font name"); 234 gridBagConstraints = new java.awt.GridBagConstraints (); 235 gridBagConstraints.gridx = 0; 236 gridBagConstraints.gridy = 4; 237 gridBagConstraints.gridwidth = 2; 238 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 239 gridBagConstraints.insets = new java.awt.Insets (4, 0, 0, 0); 240 jPanelFont.add(jLabel25, gridBagConstraints); 241 242 jComboBoxPDFFontName.setEditable(true); 243 jComboBoxPDFFontName.addActionListener(new java.awt.event.ActionListener () { 244 public void actionPerformed(java.awt.event.ActionEvent evt) { 245 jComboBoxPDFFontNameActionPerformed(evt); 246 } 247 }); 248 249 gridBagConstraints = new java.awt.GridBagConstraints (); 250 gridBagConstraints.gridx = 0; 251 gridBagConstraints.gridy = 5; 252 gridBagConstraints.gridwidth = 2; 253 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 254 gridBagConstraints.weightx = 1.0; 255 jPanelFont.add(jComboBoxPDFFontName, gridBagConstraints); 256 257 jPanel2.setLayout(new java.awt.GridBagLayout ()); 258 259 jCheckBoxBold.setText("Bold"); 260 jCheckBoxBold.addActionListener(new java.awt.event.ActionListener () { 261 public void actionPerformed(java.awt.event.ActionEvent evt) { 262 jCheckBoxBoldActionPerformed(evt); 263 } 264 }); 265 266 gridBagConstraints = new java.awt.GridBagConstraints (); 267 gridBagConstraints.gridy = 0; 268 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 269 gridBagConstraints.weightx = 1.0; 270 gridBagConstraints.insets = new java.awt.Insets (4, 0, 0, 0); 271 jPanel2.add(jCheckBoxBold, gridBagConstraints); 272 273 jCheckBoxUnderline.setText("Underline"); 274 jCheckBoxUnderline.addActionListener(new java.awt.event.ActionListener () { 275 public void actionPerformed(java.awt.event.ActionEvent evt) { 276 jCheckBoxUnderlineActionPerformed(evt); 277 } 278 }); 279 280 gridBagConstraints = new java.awt.GridBagConstraints (); 281 gridBagConstraints.gridy = 0; 282 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 283 gridBagConstraints.weightx = 1.0; 284 gridBagConstraints.insets = new java.awt.Insets (4, 0, 0, 0); 285 jPanel2.add(jCheckBoxUnderline, gridBagConstraints); 286 287 jCheckBoxItalic.setText("Italic"); 288 jCheckBoxItalic.addActionListener(new java.awt.event.ActionListener () { 289 public void actionPerformed(java.awt.event.ActionEvent evt) { 290 jCheckBoxItalicActionPerformed(evt); 291 } 292 }); 293 294 gridBagConstraints = new java.awt.GridBagConstraints (); 295 gridBagConstraints.gridy = 1; 296 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 297 gridBagConstraints.weightx = 1.0; 298 jPanel2.add(jCheckBoxItalic, gridBagConstraints); 299 300 jCheckBoxStrokeTrough.setText("Strike Trough"); 301 jCheckBoxStrokeTrough.addActionListener(new java.awt.event.ActionListener () { 302 public void actionPerformed(java.awt.event.ActionEvent evt) { 303 jCheckBoxStrokeTroughActionPerformed(evt); 304 } 305 }); 306 307 gridBagConstraints = new java.awt.GridBagConstraints (); 308 gridBagConstraints.gridy = 1; 309 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 310 gridBagConstraints.weightx = 1.0; 311 jPanel2.add(jCheckBoxStrokeTrough, gridBagConstraints); 312 313 gridBagConstraints = new java.awt.GridBagConstraints (); 314 gridBagConstraints.gridx = 0; 315 gridBagConstraints.gridy = 8; 316 gridBagConstraints.gridwidth = 2; 317 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 318 gridBagConstraints.weightx = 1.0; 319 jPanelFont.add(jPanel2, gridBagConstraints); 320 321 gridBagConstraints = new java.awt.GridBagConstraints (); 322 gridBagConstraints.gridx = 0; 323 gridBagConstraints.gridy = 9; 324 gridBagConstraints.gridwidth = 2; 325 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 326 jPanelFont.add(jSeparator2, gridBagConstraints); 327 328 jPanel3.setLayout(new java.awt.GridBagLayout ()); 329 330 jPanel4.setLayout(new java.awt.GridBagLayout ()); 331 332 jCheckBoxPDFEmbedded.setText("PDF Embedded"); 333 jCheckBoxPDFEmbedded.addActionListener(new java.awt.event.ActionListener () { 334 public void actionPerformed(java.awt.event.ActionEvent evt) { 335 jCheckBoxPDFEmbeddedActionPerformed(evt); 336 } 337 }); 338 339 gridBagConstraints = new java.awt.GridBagConstraints (); 340 gridBagConstraints.gridx = 0; 341 gridBagConstraints.gridy = 10; 342 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 343 jPanel4.add(jCheckBoxPDFEmbedded, gridBagConstraints); 344 345 jCheckBoxDefaultFont.setLabel("Default"); 346 jCheckBoxDefaultFont.addActionListener(new java.awt.event.ActionListener () { 347 public void actionPerformed(java.awt.event.ActionEvent evt) { 348 jCheckBoxDefaultFontActionPerformed(evt); 349 } 350 }); 351 352 gridBagConstraints = new java.awt.GridBagConstraints (); 353 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 354 jPanel4.add(jCheckBoxDefaultFont, gridBagConstraints); 355 356 gridBagConstraints = new java.awt.GridBagConstraints (); 357 gridBagConstraints.gridx = 0; 358 gridBagConstraints.gridy = 0; 359 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 360 gridBagConstraints.weighty = 1.0; 361 jPanel3.add(jPanel4, gridBagConstraints); 362 363 jPanel5.setLayout(new java.awt.GridBagLayout ()); 364 365 jLabel32.setText("PDF Encoding"); 366 gridBagConstraints = new java.awt.GridBagConstraints (); 367 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 368 gridBagConstraints.weightx = 1.0; 369 jPanel5.add(jLabel32, gridBagConstraints); 370 371 jComboBoxPdfEncoding.setEditable(true); 372 jComboBoxPdfEncoding.addActionListener(new java.awt.event.ActionListener () { 373 public void actionPerformed(java.awt.event.ActionEvent evt) { 374 jComboBoxPdfEncodingActionPerformed(evt); 375 } 376 }); 377 378 gridBagConstraints = new java.awt.GridBagConstraints (); 379 gridBagConstraints.gridy = 1; 380 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 381 gridBagConstraints.weightx = 1.0; 382 jPanel5.add(jComboBoxPdfEncoding, gridBagConstraints); 383 384 gridBagConstraints = new java.awt.GridBagConstraints (); 385 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 386 gridBagConstraints.weightx = 1.0; 387 gridBagConstraints.insets = new java.awt.Insets (0, 8, 0, 0); 388 jPanel3.add(jPanel5, gridBagConstraints); 389 390 gridBagConstraints = new java.awt.GridBagConstraints (); 391 gridBagConstraints.gridx = 0; 392 gridBagConstraints.gridy = 10; 393 gridBagConstraints.gridwidth = 2; 394 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 395 gridBagConstraints.insets = new java.awt.Insets (4, 0, 0, 0); 396 jPanelFont.add(jPanel3, gridBagConstraints); 397 398 gridBagConstraints = new java.awt.GridBagConstraints (); 399 gridBagConstraints.gridy = 11; 400 gridBagConstraints.gridwidth = 2; 401 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 402 jPanelFont.add(jSeparator3, gridBagConstraints); 403 404 jPanel6.setLayout(new java.awt.GridBagLayout ()); 405 406 gridBagConstraints = new java.awt.GridBagConstraints (); 407 gridBagConstraints.gridheight = 2; 408 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 409 gridBagConstraints.weightx = 1.0; 410 gridBagConstraints.weighty = 1.0; 411 jPanel6.add(jPanel7, gridBagConstraints); 412 413 jButtonOK.setMnemonic('o'); 414 jButtonOK.setText("OK"); 415 jButtonOK.addActionListener(new java.awt.event.ActionListener () { 416 public void actionPerformed(java.awt.event.ActionEvent evt) { 417 jButtonOKActionPerformed(evt); 418 } 419 }); 420 421 gridBagConstraints = new java.awt.GridBagConstraints (); 422 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 423 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 424 jPanel6.add(jButtonOK, gridBagConstraints); 425 426 jButtonCancel.setMnemonic('c'); 427 jButtonCancel.setText("Cancel"); 428 jButtonCancel.addActionListener(new java.awt.event.ActionListener () { 429 public void actionPerformed(java.awt.event.ActionEvent evt) { 430 jButtonCancelActionPerformed(evt); 431 } 432 }); 433 434 gridBagConstraints = new java.awt.GridBagConstraints (); 435 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 436 gridBagConstraints.insets = new java.awt.Insets (4, 0, 4, 0); 437 jPanel6.add(jButtonCancel, gridBagConstraints); 438 439 jButtonResetAllToDefault.setMnemonic('d'); 440 jButtonResetAllToDefault.setText("Set all to default"); 441 jButtonResetAllToDefault.addActionListener(new java.awt.event.ActionListener () { 442 public void actionPerformed(java.awt.event.ActionEvent evt) { 443 jButtonOKActionPerformed1(evt); 444 } 445 }); 446 447 gridBagConstraints = new java.awt.GridBagConstraints (); 448 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 449 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 450 jPanel6.add(jButtonResetAllToDefault, gridBagConstraints); 451 452 gridBagConstraints = new java.awt.GridBagConstraints (); 453 gridBagConstraints.gridx = 0; 454 gridBagConstraints.gridy = 12; 455 gridBagConstraints.gridwidth = 2; 456 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 457 gridBagConstraints.weightx = 1.0; 458 gridBagConstraints.weighty = 1.0; 459 jPanelFont.add(jPanel6, gridBagConstraints); 460 461 jComboBoxReportFonts.addActionListener(new java.awt.event.ActionListener () { 462 public void actionPerformed(java.awt.event.ActionEvent evt) { 463 jComboBoxReportFontsActionPerformed(evt); 464 } 465 }); 466 467 gridBagConstraints = new java.awt.GridBagConstraints (); 468 gridBagConstraints.gridx = 0; 469 gridBagConstraints.gridy = 1; 470 gridBagConstraints.gridwidth = 2; 471 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 472 gridBagConstraints.weightx = 1.0; 473 jPanelFont.add(jComboBoxReportFonts, gridBagConstraints); 474 475 gridBagConstraints = new java.awt.GridBagConstraints (); 476 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 477 gridBagConstraints.weightx = 1.0; 478 gridBagConstraints.weighty = 1.0; 479 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 480 getContentPane().add(jPanelFont, gridBagConstraints); 481 482 pack(); 483 } 485 private void jComboBoxPdfEncodingActionPerformed(java.awt.event.ActionEvent evt) { if (init) return; 487 if (this.jComboBoxPdfEncoding.getSelectedItem() instanceof PdfEncoding) 488 { 489 iReportFont.setPdfEncoding( ((PdfEncoding)this.jComboBoxPdfEncoding.getSelectedItem()).getEncoding()); 490 } 491 492 } 496 private void jCheckBoxPDFEmbeddedActionPerformed(java.awt.event.ActionEvent evt) { if (init) return; 498 iReportFont.setPdfEmbedded( jCheckBoxPDFEmbedded.isSelected() ); 499 } 501 private void jCheckBoxDefaultFontActionPerformed(java.awt.event.ActionEvent evt) { if (init) return; 503 iReportFont.setDefaultFont( jCheckBoxDefaultFont.isSelected() ); 504 } 506 private void jCheckBoxStrokeTroughActionPerformed(java.awt.event.ActionEvent evt) { if (init) return; 508 iReportFont.setStrikeTrought( jCheckBoxStrokeTrough.isSelected() ); 509 } 511 private void jCheckBoxItalicActionPerformed(java.awt.event.ActionEvent evt) { if (init) return; 513 iReportFont.setItalic( jCheckBoxItalic.isSelected() ); 514 } 516 private void jCheckBoxUnderlineActionPerformed(java.awt.event.ActionEvent evt) { if (init) return; 518 iReportFont.setUnderline( jCheckBoxUnderline.isSelected() ); 519 } 521 private void jCheckBoxBoldActionPerformed(java.awt.event.ActionEvent evt) { if (init) return; 523 iReportFont.setBold( jCheckBoxBold.isSelected() ); 524 } 526 private void jNumberComboBoxSizeActionPerformed(java.awt.event.ActionEvent evt) { if (init) return; 528 iReportFont.setFontSize( (int)jNumberComboBoxSize.getValue()); 529 } 531 private void jComboBoxFontNameActionPerformed(java.awt.event.ActionEvent evt) { if (init) return; 533 getIReportFont().setFontName( jComboBoxFontName.getSelectedItem()+""); 534 } 536 private void jButtonOKActionPerformed1(java.awt.event.ActionEvent evt) { 538 IReportFont ifont = new IReportFont(); 539 setIReportFont(ifont, jTextFieldReportFont.isVisible()); 540 541 542 543 } 545 private void jComboBoxReportFontsActionPerformed(java.awt.event.ActionEvent evt) { 547 if (init) return; 548 if (jComboBoxReportFonts.getSelectedItem() != null && jComboBoxReportFonts.getSelectedItem() instanceof IReportFont) 549 { 550 IReportFont ifont = (IReportFont)((IReportFont)jComboBoxReportFonts.getSelectedItem()).clone(); 552 553 setIReportFont(ifont, false); 554 ifont.getBeanProperties().clear(); 556 ifont.setReportFont( jComboBoxReportFonts.getSelectedItem()+"" ); 557 } 558 } 560 private void jComboBoxPDFFontNameActionPerformed(java.awt.event.ActionEvent evt) { 562 if (init) return; 563 if (jComboBoxPDFFontName.getSelectedItem() == null || (jComboBoxPDFFontName.getSelectedItem()+"").equals("")) return; 565 Object obj = jComboBoxPDFFontName.getSelectedItem(); 567 String fontName = ""+ obj; 568 if (obj instanceof Tag) 569 { 570 fontName = ""+((Tag)obj).getValue(); 571 } 572 else 573 { 574 fontName = ""+obj; 575 } 576 577 iReportFont.setPropertyValue( IReportFont.PDF_FONT_NAME, (fontName.length() > 0) ? fontName : null); 578 } 580 private void jButtonCancelActionPerformed(java.awt.event.ActionEvent evt) { setVisible(false); 582 this.setDialogResult( javax.swing.JOptionPane.CANCEL_OPTION); 583 dispose(); 584 } 586 private void jButtonOKActionPerformed(java.awt.event.ActionEvent evt) { 588 if (this.jTextFieldReportFont.getText().trim().length() <= 0 && isReportFontMode()) 589 { 590 javax.swing.JOptionPane.showMessageDialog(this, 591 I18n.getString( "messages.jRFontDialog.notValidReportFontName","Please insert a valid report font name!"), 592 I18n.getString( "messages.jRFontDialog.notValidReportFontNameCaption","Invalid report font name!"), 593 javax.swing.JOptionPane.WARNING_MESSAGE ); 594 return; 595 } 596 597 if (isReportFontMode()) 599 { 600 iReportFont.setReportFont( this.jTextFieldReportFont.getText() ); 601 } 602 else if (this.jComboBoxReportFonts.isVisible() && this.jComboBoxReportFonts.getSelectedItem() != null) 603 { 604 iReportFont.setReportFont( this.jComboBoxReportFonts.getSelectedItem() +""); 605 } 606 607 609 615 623 624 630 643 644 setVisible(false); 645 this.setDialogResult( javax.swing.JOptionPane.OK_OPTION); 646 dispose(); 647 } 649 650 private void closeDialog(java.awt.event.WindowEvent evt) { setVisible(false); 652 this.setDialogResult( javax.swing.JOptionPane.CLOSED_OPTION); 653 dispose(); 654 } 656 660 public int getDialogResult() { 661 return dialogResult; 662 } 663 664 668 public void setDialogResult(int dialogResult) { 669 this.dialogResult = dialogResult; 670 } 671 672 676 public it.businesslogic.ireport.IReportFont getIReportFont() { 677 return iReportFont; 678 } 679 680 681 public void setIReportFont(it.businesslogic.ireport.IReportFont iReportFont) 682 { 683 setIReportFont(iReportFont, true); 684 } 685 689 public void setIReportFont(it.businesslogic.ireport.IReportFont iReportFont, boolean reportFontToo) { 690 691 init = true; 692 693 if (iReportFont == null) iReportFont = new it.businesslogic.ireport.IReportFont(); 694 this.iReportFont = iReportFont; 695 696 if (reportFontToo) 697 { 698 this.jTextFieldReportFont.setText( new String (iReportFont.getReportFont()) ); 699 if (iReportFont.getReportFont() != null && iReportFont.getReportFont().length()>0) 700 { 701 for (int i=0; i<jComboBoxReportFonts.getItemCount(); ++i) 702 { 703 if ((jComboBoxReportFonts.getItemAt(i) + "").equals(iReportFont.getReportFont())) 704 { 705 jComboBoxReportFonts.setSelectedIndex(i); 706 break; 707 } 708 } 709 } 710 } 711 712 this.jCheckBoxBold.setSelected( iReportFont.isBold()); 713 this.jCheckBoxItalic.setSelected( iReportFont.isItalic()); 714 this.jCheckBoxStrokeTrough.setSelected( iReportFont.isStrikeTrought()); 715 this.jCheckBoxPDFEmbedded.setSelected( iReportFont.isPdfEmbedded() ); 716 this.jCheckBoxUnderline.setSelected( iReportFont.isUnderline()); 717 this.jCheckBoxDefaultFont.setSelected( iReportFont.isDefaultFont()); 718 719 setComboBoxText(true, iReportFont.getFontName() , jComboBoxFontName); 720 721 this.setMixedTagComboBox(true, iReportFont.getPDFFontName() , jComboBoxPDFFontName ); 722 723 this.setElementComboNumber(true, iReportFont.getFontSize() , jNumberComboBoxSize ); 724 this.setPdfEncodingComboBox(true, iReportFont.getPdfEncoding() , jComboBoxPdfEncoding ); 725 726 init = false; 727 } 728 729 public void updateFonts(Vector iRFonts) 730 { 731 Vector fontsVec = new Vector(); 732 fontsVec.addElement(new Tag("Helvetica")); 733 fontsVec.addElement(new Tag("Helvetica-Bold")); 734 fontsVec.addElement(new Tag("Helvetica-BoldOblique")); 735 fontsVec.addElement(new Tag("Helvetica-Oblique")); 736 fontsVec.addElement(new Tag("Courier")); 737 fontsVec.addElement(new Tag("Courier-Bold")); 738 fontsVec.addElement(new Tag("Courier-BoldOblique")); 739 fontsVec.addElement(new Tag("Courier-Oblique")); 740 fontsVec.addElement(new Tag("Symbol")); 741 fontsVec.addElement(new Tag("Times-Roman")); 742 fontsVec.addElement(new Tag("Times-Bold")); 743 fontsVec.addElement(new Tag("Times-BoldItalic")); 744 fontsVec.addElement(new Tag("Times-Italic")); 745 fontsVec.addElement(new Tag("ZapfDingbats")); 746 fontsVec.addElement(new Tag("STSong-Light")); 747 fontsVec.addElement(new Tag("MHei-Medium")); 748 fontsVec.addElement(new Tag("MSung-Light")); 749 fontsVec.addElement(new Tag("HeiseiKakuGo-W5")); 750 fontsVec.addElement(new Tag("HeiseiMin-W3")); 751 fontsVec.addElement(new Tag("HYGoThic-Medium")); 752 fontsVec.addElement(new Tag("HYSMyeongJo-Medium")); 753 Vector iRfonts = MainFrame.getMainInstance().getTtfFonts(); 754 for (int i_f=0; i_f<iRfonts.size(); ++i_f) 755 { 756 fontsVec.addElement(new Tag( ((IRFont)iRfonts.elementAt(i_f)).getFile(), 757 iRfonts.elementAt(i_f)+"")); 758 } 759 Misc.updateComboBox(jComboBoxPDFFontName,fontsVec); 760 } 761 762 private javax.swing.JButton jButtonCancel; 764 private javax.swing.JButton jButtonOK; 765 private javax.swing.JButton jButtonResetAllToDefault; 766 private javax.swing.JCheckBox jCheckBoxBold; 767 private javax.swing.JCheckBox jCheckBoxDefaultFont; 768 private javax.swing.JCheckBox jCheckBoxItalic; 769 private javax.swing.JCheckBox jCheckBoxPDFEmbedded; 770 private javax.swing.JCheckBox jCheckBoxStrokeTrough; 771 private javax.swing.JCheckBox jCheckBoxUnderline; 772 private javax.swing.JComboBox jComboBoxFontName; 773 private javax.swing.JComboBox jComboBoxPDFFontName; 774 private javax.swing.JComboBox jComboBoxPdfEncoding; 775 private javax.swing.JComboBox jComboBoxReportFonts; 776 private javax.swing.JLabel jLabel23; 777 private javax.swing.JLabel jLabel24; 778 private javax.swing.JLabel jLabel25; 779 private javax.swing.JLabel jLabel27; 780 private javax.swing.JLabel jLabel32; 781 private it.businesslogic.ireport.gui.JNumberComboBox jNumberComboBoxSize; 782 private javax.swing.JPanel jPanel2; 783 private javax.swing.JPanel jPanel3; 784 private javax.swing.JPanel jPanel4; 785 private javax.swing.JPanel jPanel5; 786 private javax.swing.JPanel jPanel6; 787 private javax.swing.JPanel jPanel7; 788 private javax.swing.JPanel jPanelFont; 789 private javax.swing.JSeparator jSeparator2; 790 private javax.swing.JSeparator jSeparator3; 791 private javax.swing.JTextField jTextFieldReportFont; 792 794 private int dialogResult; 795 796 protected boolean setComboBoxText( boolean firstTime, String value, javax.swing.JComboBox comboField ) 797 { 798 if (( ! firstTime ) && (!( Misc.nvl(comboField.getSelectedItem(),"").equalsIgnoreCase(value)))) 799 { 800 comboField.setSelectedIndex(0); 801 return false; 802 } 803 else 804 { 805 try { 806 comboField.setSelectedItem( value ); 807 } catch (Exception ex){ 808 ex.printStackTrace(); 809 } 810 } 811 return true; 812 } 813 814 815 protected boolean setMixedTagComboBox( boolean firstTime, Object value, javax.swing.JComboBox comboField ) { 816 if (firstTime) 817 { 818 try { 819 for (int i=0; i<comboField.getItemCount(); ++i) { 820 if (comboField.getItemAt(i) instanceof Tag && ((Tag)comboField.getItemAt(i)).getValue().equals(value) ) { 821 comboField.setSelectedIndex(i); 822 return true; 823 } 824 } 825 comboField.setSelectedItem(value); 827 828 } catch (Exception ex){ 829 ex.printStackTrace(); 830 } 831 return true; 832 } 833 else 834 { 835 Object selectedValue = comboField.getSelectedItem(); 836 if (selectedValue == null && value == null) return true; 837 if (selectedValue == null) return false; 838 if (selectedValue instanceof Tag) 839 { 840 selectedValue = ((Tag)selectedValue).getValue(); 841 } 842 843 if (selectedValue.equals(value)) return true; 844 } 845 return false; 846 } 847 848 protected boolean setPdfEncodingComboBox( boolean firstTime, String value, javax.swing.JComboBox comboField ) 849 { 850 if (( ! firstTime ) && (!(comboField.getSelectedItem()!=null && ( (comboField.getSelectedItem() instanceof PdfEncoding && ((PdfEncoding)comboField.getSelectedItem()).getEncoding().equalsIgnoreCase(value)) || (comboField.getSelectedItem()+"").equals(value) )))) 851 { 852 if (comboField.getItemCount() > 0) 853 comboField.setSelectedIndex(0); 854 return false; 855 } 856 else 857 { 858 try { 859 for (int i=0; i<comboField.getItemCount(); ++i) 860 { 861 if (comboField.getItemAt(i) instanceof PdfEncoding && ((PdfEncoding)comboField.getItemAt(i)).getEncoding().equals(value) ) 862 { 863 comboField.setSelectedIndex(i); 864 return true; 865 } 866 } 867 comboField.setSelectedItem(value); 868 } catch (Exception ex){ 869 ex.printStackTrace(); 870 } 871 } 872 return true; 873 } 874 875 protected boolean setElementComboNumber( boolean firstTime, double value, JNumberComboBox numberField ) 876 { 877 if (( ! firstTime ) && (!(numberField.getValue() == value))) 878 { 879 numberField.setSelectedItem(""); 880 return false; 881 } 882 else 883 { 884 try { 885 numberField.setValue( value ); 886 } catch (Exception ex){ 887 ex.printStackTrace(); 888 } 889 } 890 return true; 891 } 892 893 public boolean isReportFontMode() { 894 return reportFontMode; 895 } 896 897 public void setReportFontMode(boolean reportFontMode) { 898 setReportFontMode( reportFontMode ? 1 : 0); 899 } 900 901 public void setReportFontMode(int reportFontMode) { 902 this.reportFontMode = reportFontMode == 1; 903 904 jComboBoxReportFonts.setVisible( reportFontMode == 0 ); 905 jTextFieldReportFont.setVisible( reportFontMode == 1 ); 906 jCheckBoxDefaultFont.setEnabled( reportFontMode == 1 ); 907 908 jLabel23.setVisible(reportFontMode != 3); 909 910 if (jComboBoxReportFonts.getItemCount() == 0) 911 { 912 if ( MainFrame.getMainInstance().getActiveReportFrame() != null) 914 { 915 Misc.updateComboBox( jComboBoxReportFonts, MainFrame.getMainInstance().getActiveReportFrame().getReport().getFonts(), true); 916 } 917 } 918 } 919 920 public void applyI18n(){ 921 jCheckBoxBold.setText(I18n.getString("jRFontDialog.checkBoxBold","Bold")); 923 jCheckBoxItalic.setText(I18n.getString("jRFontDialog.checkBoxItalic","Italic")); 924 jCheckBoxPDFEmbedded.setText(I18n.getString("jRFontDialog.checkBoxPDFEmbedded","PDF Embedded")); 925 jCheckBoxStrokeTrough.setText(I18n.getString("jRFontDialog.checkBoxStrokeTrough","Strike Trough")); 926 jCheckBoxUnderline.setText(I18n.getString("jRFontDialog.checkBoxUnderline","Underline")); 927 jButtonCancel.setText(I18n.getString("jRFontDialog.buttonCancel","Cancel")); 930 jButtonOK.setText(I18n.getString("jRFontDialog.buttonOK","OK")); 931 jButtonResetAllToDefault.setText(I18n.getString("jRFontDialog.buttonResetAllToDefault","Set all to default")); 932 jLabel23.setText(I18n.getString("jRFontDialog.label23","Report font")); 933 jLabel24.setText(I18n.getString("jRFontDialog.label24","Font name")); 934 jLabel25.setText(I18n.getString("jRFontDialog.label25","PDF font name")); 935 jLabel27.setText(I18n.getString("jRFontDialog.label27","Size")); 936 jLabel32.setText(I18n.getString("jRFontDialog.label32","PDF Encoding")); 937 } 939 } 940 | Popular Tags |