| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- package org.leumasjaffe.charsheet.view.magic;
- import javax.swing.JPanel;
- import java.awt.GridBagLayout;
- import java.awt.GridBagConstraints;
- import java.awt.Insets;
- import java.util.Set;
- import javax.swing.JTextArea;
- import org.leumasjaffe.charsheet.model.magic.DDSpell;
- import org.leumasjaffe.charsheet.model.magic.DDSpell.Component;
- import javax.swing.JScrollPane;
- import javax.swing.JLabel;
- import javax.swing.JTextField;
- import java.awt.Font;
- import java.awt.FlowLayout;
- import javax.swing.JCheckBox;
- public class SpellInfoPanel extends JPanel {
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- private JTextField name;
- private JTextField school;
- private JTextField keywords;
- private JTextField action;
- private JTextField range;
- public SpellInfoPanel(final DDSpell spell) {
- GridBagLayout gridBagLayout = new GridBagLayout();
- gridBagLayout.columnWidths = new int[]{0, 0};
- gridBagLayout.rowHeights = new int[]{0, 0, 0};
- gridBagLayout.columnWeights = new double[]{1.0, Double.MIN_VALUE};
- gridBagLayout.rowWeights = new double[]{1.0, 1.0, Double.MIN_VALUE};
- setLayout(gridBagLayout);
-
- JPanel panel = new JPanel();
- GridBagConstraints gbc_panel = new GridBagConstraints();
- gbc_panel.insets = new Insets(0, 0, 5, 0);
- gbc_panel.fill = GridBagConstraints.BOTH;
- gbc_panel.gridx = 0;
- gbc_panel.gridy = 0;
- add(panel, gbc_panel);
- GridBagLayout gbl_panel = new GridBagLayout();
- gbl_panel.columnWidths = new int[]{0, 0, 0, 0, 0};
- gbl_panel.rowHeights = new int[]{0, 0, 0, 0, 0, 0};
- gbl_panel.columnWeights = new double[]{0.0, 1.0, 0.0, 1.0, Double.MIN_VALUE};
- gbl_panel.rowWeights = new double[]{0.0, 0.0, 1.0, 0.0, 1.0, Double.MIN_VALUE};
- panel.setLayout(gbl_panel);
-
- JLabel lblName = new JLabel("Name:");
- lblName.setFont(new Font("Tahoma", Font.BOLD, 14));
- GridBagConstraints gbc_lblName = new GridBagConstraints();
- gbc_lblName.insets = new Insets(0, 0, 5, 5);
- gbc_lblName.anchor = GridBagConstraints.EAST;
- gbc_lblName.gridx = 0;
- gbc_lblName.gridy = 0;
- panel.add(lblName, gbc_lblName);
-
- name = new JTextField(spell.getName());
- name.setEditable(false);
- GridBagConstraints gbc_name = new GridBagConstraints();
- gbc_name.insets = new Insets(0, 0, 5, 5);
- gbc_name.fill = GridBagConstraints.HORIZONTAL;
- gbc_name.gridx = 1;
- gbc_name.gridy = 0;
- panel.add(name, gbc_name);
- name.setColumns(10);
-
- JLabel lblSpellSchool = new JLabel("Spell School:");
- lblSpellSchool.setFont(new Font("Tahoma", Font.BOLD, 14));
- GridBagConstraints gbc_lblSpellSchool = new GridBagConstraints();
- gbc_lblSpellSchool.anchor = GridBagConstraints.EAST;
- gbc_lblSpellSchool.insets = new Insets(0, 0, 5, 5);
- gbc_lblSpellSchool.gridx = 2;
- gbc_lblSpellSchool.gridy = 0;
- panel.add(lblSpellSchool, gbc_lblSpellSchool);
-
- school = new JTextField(spell.getSpellSchool());
- school.setEditable(false);
- school.setColumns(10);
- GridBagConstraints gbc_school = new GridBagConstraints();
- gbc_school.insets = new Insets(0, 0, 5, 0);
- gbc_school.fill = GridBagConstraints.HORIZONTAL;
- gbc_school.gridx = 3;
- gbc_school.gridy = 0;
- panel.add(school, gbc_school);
-
- JLabel lblKeywords = new JLabel("Keywords:");
- lblKeywords.setFont(new Font("Tahoma", Font.BOLD, 14));
- GridBagConstraints gbc_lblKeywords = new GridBagConstraints();
- gbc_lblKeywords.anchor = GridBagConstraints.EAST;
- gbc_lblKeywords.insets = new Insets(0, 0, 5, 5);
- gbc_lblKeywords.gridx = 0;
- gbc_lblKeywords.gridy = 1;
- panel.add(lblKeywords, gbc_lblKeywords);
-
- keywords = new JTextField(spell.getKeywords().isEmpty() ? "<none>" : asString(spell.getKeywords()));
- keywords.setEditable(false);
- keywords.setColumns(10);
- GridBagConstraints gbc_keywords = new GridBagConstraints();
- gbc_keywords.gridwidth = 3;
- gbc_keywords.insets = new Insets(0, 0, 5, 0);
- gbc_keywords.fill = GridBagConstraints.HORIZONTAL;
- gbc_keywords.gridx = 1;
- gbc_keywords.gridy = 1;
- panel.add(keywords, gbc_keywords);
-
- JLabel lblComponents = new JLabel("Components:");
- lblComponents.setFont(new Font("Tahoma", Font.BOLD, 14));
- GridBagConstraints gbc_lblComponents = new GridBagConstraints();
- gbc_lblComponents.anchor = GridBagConstraints.EAST;
- gbc_lblComponents.insets = new Insets(0, 0, 5, 5);
- gbc_lblComponents.gridx = 0;
- gbc_lblComponents.gridy = 2;
- panel.add(lblComponents, gbc_lblComponents);
-
- JPanel panel_1 = new JPanel();
- GridBagConstraints gbc_panel_1 = new GridBagConstraints();
- gbc_panel_1.insets = new Insets(0, 0, 5, 0);
- gbc_panel_1.gridwidth = 3;
- gbc_panel_1.fill = GridBagConstraints.BOTH;
- gbc_panel_1.gridx = 1;
- gbc_panel_1.gridy = 2;
- panel.add(panel_1, gbc_panel_1);
- panel_1.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
-
- JCheckBox chckbxVerbal = new JCheckBox("Verbal");
- chckbxVerbal.setEnabled(false);
- chckbxVerbal.setSelected(spell.getComponents().contains(Component.V));
- panel_1.add(chckbxVerbal);
-
- JCheckBox chckbxSomatic = new JCheckBox("Somatic");
- chckbxSomatic.setEnabled(false);
- chckbxSomatic.setSelected(spell.getComponents().contains(Component.S));
- panel_1.add(chckbxSomatic);
-
- JCheckBox chckbxMaterial = new JCheckBox("Material");
- chckbxMaterial.setEnabled(false);
- chckbxMaterial.setSelected(spell.getComponents().contains(Component.M));
- panel_1.add(chckbxMaterial);
-
- JCheckBox chckbxFocus = new JCheckBox("Focus");
- chckbxFocus.setEnabled(false);
- chckbxFocus.setSelected(spell.getComponents().contains(Component.F));
- panel_1.add(chckbxFocus);
-
- JCheckBox chckbxDivineFocus = new JCheckBox("Divine Focus");
- chckbxDivineFocus.setEnabled(false);
- chckbxDivineFocus.setSelected(spell.getComponents().contains(Component.DF));
- panel_1.add(chckbxDivineFocus);
-
- JCheckBox chckbxExperience = new JCheckBox("Experience");
- chckbxExperience.setEnabled(false);
- chckbxExperience.setSelected(spell.getComponents().contains(Component.XP));
- panel_1.add(chckbxExperience);
-
- JLabel lblCastingTime = new JLabel("Casting Time:");
- lblCastingTime.setFont(new Font("Tahoma", Font.BOLD, 14));
- GridBagConstraints gbc_lblCastingTime = new GridBagConstraints();
- gbc_lblCastingTime.anchor = GridBagConstraints.EAST;
- gbc_lblCastingTime.insets = new Insets(0, 0, 5, 5);
- gbc_lblCastingTime.gridx = 0;
- gbc_lblCastingTime.gridy = 3;
- panel.add(lblCastingTime, gbc_lblCastingTime);
-
- action = new JTextField(spell.getCastingTime().name());
- action.setEditable(false);
- action.setColumns(10);
- GridBagConstraints gbc_action = new GridBagConstraints();
- gbc_action.insets = new Insets(0, 0, 5, 5);
- gbc_action.fill = GridBagConstraints.HORIZONTAL;
- gbc_action.gridx = 1;
- gbc_action.gridy = 3;
- panel.add(action, gbc_action);
-
- JLabel lblRange = new JLabel("Range:");
- lblRange.setFont(new Font("Tahoma", Font.BOLD, 14));
- GridBagConstraints gbc_lblRange = new GridBagConstraints();
- gbc_lblRange.anchor = GridBagConstraints.EAST;
- gbc_lblRange.insets = new Insets(0, 0, 5, 5);
- gbc_lblRange.gridx = 2;
- gbc_lblRange.gridy = 3;
- panel.add(lblRange, gbc_lblRange);
-
- range = new JTextField(spell.getRange().toString());
- range.setEditable(false);
- range.setColumns(10);
- GridBagConstraints gbc_range = new GridBagConstraints();
- gbc_range.insets = new Insets(0, 0, 5, 0);
- gbc_range.fill = GridBagConstraints.HORIZONTAL;
- gbc_range.gridx = 3;
- gbc_range.gridy = 3;
- panel.add(range, gbc_range);
-
- JScrollPane scrollPane = new JScrollPane();
- GridBagConstraints gbc_scrollPane = new GridBagConstraints();
- gbc_scrollPane.fill = GridBagConstraints.BOTH;
- gbc_scrollPane.gridx = 0;
- gbc_scrollPane.gridy = 1;
- add(scrollPane, gbc_scrollPane);
-
- JTextArea description = new JTextArea(spell.getDescription());
- description.setEditable(false);
- description.setWrapStyleWord(true);
- description.setRows(10);
- scrollPane.setViewportView(description);
- description.setColumns(30);
- description.setLineWrap(true);
- }
- private static String asString(Set<String> keys) {
- String str = keys.toString();
- return str.substring(1, str.length()-1);
- }
- }
|