ClassTab.java 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. package org.leumasjaffe.charsheet.view;
  2. import javax.swing.JPanel;
  3. import lombok.AccessLevel;
  4. import lombok.experimental.FieldDefaults;
  5. import java.awt.GridBagLayout;
  6. import javax.swing.JTextField;
  7. import org.leumasjaffe.charsheet.model.DDCharacter;
  8. import org.leumasjaffe.charsheet.model.DDCharacterClass;
  9. import org.leumasjaffe.charsheet.util.StringHelper;
  10. import org.leumasjaffe.charsheet.view.magic.SpellPanel;
  11. import java.awt.GridBagConstraints;
  12. import java.awt.Insets;
  13. import javax.swing.JLabel;
  14. import java.awt.Component;
  15. import javax.swing.Box;
  16. import java.awt.Font;
  17. @FieldDefaults(level=AccessLevel.PRIVATE, makeFinal=true)
  18. public class ClassTab extends JPanel {
  19. /**
  20. *
  21. */
  22. private static final long serialVersionUID = 1L;
  23. String title;
  24. public ClassTab(DDCharacter chara, DDCharacterClass model) {
  25. this.title = model.getName();
  26. GridBagLayout gridBagLayout = new GridBagLayout();
  27. gridBagLayout.columnWidths = new int[]{0, 0};
  28. gridBagLayout.rowHeights = new int[]{0, 0, 0, 0};
  29. gridBagLayout.columnWeights = new double[]{1.0, Double.MIN_VALUE};
  30. gridBagLayout.rowWeights = new double[]{0.0, 1.0, 1.0, Double.MIN_VALUE};
  31. setLayout(gridBagLayout);
  32. JPanel header = new JPanel();
  33. GridBagConstraints gbc_header = new GridBagConstraints();
  34. gbc_header.insets = new Insets(0, 0, 5, 0);
  35. gbc_header.fill = GridBagConstraints.BOTH;
  36. gbc_header.gridx = 0;
  37. gbc_header.gridy = 0;
  38. add(header, gbc_header);
  39. GridBagLayout gbl_header = new GridBagLayout();
  40. gbl_header.columnWidths = new int[]{0, 0, 0, 0, 0, 0, 0};
  41. gbl_header.rowHeights = new int[]{0, 0};
  42. gbl_header.columnWeights = new double[]{0.0, 0.0, 0.0, 0.0, 0.0, 1.0, Double.MIN_VALUE};
  43. gbl_header.rowWeights = new double[]{0.0, Double.MIN_VALUE};
  44. header.setLayout(gbl_header);
  45. JLabel lblClass = new JLabel("Class:");
  46. lblClass.setFont(new Font("Tahoma", Font.BOLD, 14));
  47. GridBagConstraints gbc_lblClass = new GridBagConstraints();
  48. gbc_lblClass.insets = new Insets(0, 0, 0, 5);
  49. gbc_lblClass.anchor = GridBagConstraints.EAST;
  50. gbc_lblClass.gridx = 0;
  51. gbc_lblClass.gridy = 0;
  52. header.add(lblClass, gbc_lblClass);
  53. JTextField nameField = new JTextField();
  54. GridBagConstraints gbc_nameField = new GridBagConstraints();
  55. gbc_nameField.insets = new Insets(0, 0, 0, 5);
  56. gbc_nameField.gridx = 1;
  57. gbc_nameField.gridy = 0;
  58. header.add(nameField, gbc_nameField);
  59. nameField.setEditable(false);
  60. nameField.setColumns(10);
  61. nameField.setText(model.getName());
  62. Component horizontalStrut = Box.createHorizontalStrut(20);
  63. GridBagConstraints gbc_horizontalStrut = new GridBagConstraints();
  64. gbc_horizontalStrut.insets = new Insets(0, 0, 0, 5);
  65. gbc_horizontalStrut.gridx = 2;
  66. gbc_horizontalStrut.gridy = 0;
  67. header.add(horizontalStrut, gbc_horizontalStrut);
  68. JLabel lblLevel = new JLabel("Level:");
  69. lblLevel.setFont(new Font("Tahoma", Font.BOLD, 14));
  70. GridBagConstraints gbc_lblLevel = new GridBagConstraints();
  71. gbc_lblLevel.insets = new Insets(0, 0, 0, 5);
  72. gbc_lblLevel.anchor = GridBagConstraints.EAST;
  73. gbc_lblLevel.gridx = 3;
  74. gbc_lblLevel.gridy = 0;
  75. header.add(lblLevel, gbc_lblLevel);
  76. JTextField levelField = new JTextField();
  77. GridBagConstraints gbc_levelField = new GridBagConstraints();
  78. gbc_levelField.insets = new Insets(0, 0, 0, 5);
  79. gbc_levelField.gridx = 4;
  80. gbc_levelField.gridy = 0;
  81. header.add(levelField, gbc_levelField);
  82. levelField.setEditable(false);
  83. levelField.setColumns(10);
  84. levelField.setText(StringHelper.toString(model.getLevel()));
  85. JPanel levelBenefits = new JPanel();
  86. GridBagConstraints gbc_levelBenefits = new GridBagConstraints();
  87. gbc_levelBenefits.insets = new Insets(0, 0, 5, 0);
  88. gbc_levelBenefits.fill = GridBagConstraints.BOTH;
  89. gbc_levelBenefits.gridx = 0;
  90. gbc_levelBenefits.gridy = 1;
  91. add(levelBenefits, gbc_levelBenefits);
  92. if (model.getSpellBook().isPresent()) {
  93. SpellPanel spells = new SpellPanel(chara, model);
  94. GridBagConstraints gbc_spells = new GridBagConstraints();
  95. gbc_spells.fill = GridBagConstraints.BOTH;
  96. gbc_spells.gridx = 0;
  97. gbc_spells.gridy = 2;
  98. add(spells, gbc_spells);
  99. }
  100. }
  101. @Override
  102. public String getName() {
  103. return title;
  104. }
  105. }