| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245 |
- package org.leumasjaffe.charsheet.view.inventory;
- import javax.swing.JPanel;
- import java.awt.GridBagLayout;
- import java.awt.GridBagConstraints;
- import java.awt.Insets;
- import javax.swing.JLabel;
- import javax.swing.JTextField;
- import java.awt.Dimension;
- import java.awt.Font;
- import java.awt.Color;
- import javax.swing.SwingConstants;
- import org.leumasjaffe.charsheet.model.equip.DDItem;
- import org.leumasjaffe.charsheet.model.equip.DDWeapon;
- import org.leumasjaffe.charsheet.view.StringHelper;
- import java.awt.Component;
- import javax.swing.Box;
- public class WeaponPanel extends JPanel {
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- private JTextField nameField;
- private JTextField attackBonusField;
- private JTextField damageField;
- private JTextField criticalField;
- private JTextField rangeField;
- private JTextField propField;
- private JTextField typeField;
- public WeaponPanel(final DDItem item) {
- final DDWeapon weapon = item.getWeapon();
-
- setPreferredSize(new Dimension(280, 70));
- 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[]{0.0, 0.0, Double.MIN_VALUE};
- setLayout(gridBagLayout);
-
- JPanel panel = new JPanel();
- GridBagConstraints gbc_panel = new GridBagConstraints();
- gbc_panel.insets = new Insets(0, 0, 0, 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[]{100, 0, 0, 0, 0};
- gbl_panel.rowHeights = new int[]{0, 0, 0, 0};
- gbl_panel.columnWeights = new double[]{1.0, 1.0, 1.0, 1.0, Double.MIN_VALUE};
- gbl_panel.rowWeights = new double[]{0.0, 0.0, 0.0, Double.MIN_VALUE};
- panel.setLayout(gbl_panel);
-
- JLabel lblWeapon = new JLabel("WEAPON");
- lblWeapon.setHorizontalAlignment(SwingConstants.CENTER);
- lblWeapon.setForeground(Color.WHITE);
- lblWeapon.setOpaque(true);
- lblWeapon.setBackground(Color.BLACK);
- lblWeapon.setFont(new Font("Tahoma", Font.BOLD, 10));
- GridBagConstraints gbc_lblWeapon = new GridBagConstraints();
- gbc_lblWeapon.fill = GridBagConstraints.BOTH;
- gbc_lblWeapon.insets = new Insets(0, 0, 0, 1);
- gbc_lblWeapon.gridheight = 2;
- gbc_lblWeapon.gridx = 0;
- gbc_lblWeapon.gridy = 0;
- panel.add(lblWeapon, gbc_lblWeapon);
-
- Component verticalStrut = Box.createVerticalStrut(20);
- verticalStrut.setMinimumSize(new Dimension(0, 10));
- verticalStrut.setMaximumSize(new Dimension(32767, 10));
- verticalStrut.setPreferredSize(new Dimension(0, 10));
- GridBagConstraints gbc_verticalStrut = new GridBagConstraints();
- gbc_verticalStrut.insets = new Insets(0, 0, 0, 0);
- gbc_verticalStrut.gridx = 2;
- gbc_verticalStrut.gridy = 0;
- panel.add(verticalStrut, gbc_verticalStrut);
-
- JLabel lblAtkBonus = new JLabel("ATTACK BONUS");
- lblAtkBonus.setHorizontalAlignment(SwingConstants.CENTER);
- lblAtkBonus.setForeground(Color.WHITE);
- lblAtkBonus.setOpaque(true);
- lblAtkBonus.setBackground(Color.BLACK);
- lblAtkBonus.setFont(new Font("Tahoma", Font.BOLD, 8));
- GridBagConstraints gbc_lblAtkBonus = new GridBagConstraints();
- gbc_lblAtkBonus.fill = GridBagConstraints.HORIZONTAL;
- gbc_lblAtkBonus.insets = new Insets(0, 0, 0, 1);
- gbc_lblAtkBonus.gridx = 1;
- gbc_lblAtkBonus.gridy = 1;
- panel.add(lblAtkBonus, gbc_lblAtkBonus);
-
- JLabel lblDamage = new JLabel("DAMAGE");
- lblDamage.setHorizontalAlignment(SwingConstants.CENTER);
- lblDamage.setForeground(Color.WHITE);
- lblDamage.setOpaque(true);
- lblDamage.setBackground(Color.BLACK);
- lblDamage.setFont(new Font("Tahoma", Font.BOLD, 8));
- GridBagConstraints gbc_lblDamage = new GridBagConstraints();
- gbc_lblDamage.fill = GridBagConstraints.HORIZONTAL;
- gbc_lblDamage.insets = new Insets(0, 0, 0, 1);
- gbc_lblDamage.gridx = 2;
- gbc_lblDamage.gridy = 1;
- panel.add(lblDamage, gbc_lblDamage);
-
- JLabel lblCritical = new JLabel("CRITICAL");
- GridBagConstraints gbc_lblCritical = new GridBagConstraints();
- gbc_lblCritical.fill = GridBagConstraints.HORIZONTAL;
- gbc_lblCritical.insets = new Insets(0, 0, 0, 1);
- gbc_lblCritical.gridx = 3;
- gbc_lblCritical.gridy = 1;
- panel.add(lblCritical, gbc_lblCritical);
- lblCritical.setHorizontalAlignment(SwingConstants.CENTER);
- lblCritical.setForeground(Color.WHITE);
- lblCritical.setOpaque(true);
- lblCritical.setBackground(Color.BLACK);
- lblCritical.setFont(new Font("Tahoma", Font.BOLD, 8));
-
- nameField = new JTextField(item.getName());
- GridBagConstraints gbc_nameField = new GridBagConstraints();
- gbc_nameField.insets = new Insets(0, 0, 0, 0);
- gbc_nameField.fill = GridBagConstraints.HORIZONTAL;
- gbc_nameField.gridx = 0;
- gbc_nameField.gridy = 2;
- panel.add(nameField, gbc_nameField);
- nameField.setColumns(10);
-
- attackBonusField = new JTextField(StringHelper.toSignedString(weapon.getAttackBonus()));
- attackBonusField.setHorizontalAlignment(SwingConstants.CENTER);
- GridBagConstraints gbc_attackBonusField = new GridBagConstraints();
- gbc_attackBonusField.insets = new Insets(0, 0, 0, 0);
- gbc_attackBonusField.fill = GridBagConstraints.HORIZONTAL;
- gbc_attackBonusField.gridx = 1;
- gbc_attackBonusField.gridy = 2;
- panel.add(attackBonusField, gbc_attackBonusField);
- attackBonusField.setColumns(10);
-
- damageField = new JTextField(weapon.getDamage() + StringHelper.toSignedString(weapon.getDamageBonus(), 0));
- damageField.setHorizontalAlignment(SwingConstants.CENTER);
- GridBagConstraints gbc_damageField = new GridBagConstraints();
- gbc_damageField.insets = new Insets(0, 0, 0, 0);
- gbc_damageField.fill = GridBagConstraints.HORIZONTAL;
- gbc_damageField.gridx = 2;
- gbc_damageField.gridy = 2;
- panel.add(damageField, gbc_damageField);
- damageField.setColumns(10);
-
- final StringBuilder critStr = new StringBuilder();
- if (weapon.hasCriticalThreat()) { critStr.append(weapon.getCriticalThreat()).append("-20/"); }
- critStr.append('x').append(weapon.getCriticalDamage());
- criticalField = new JTextField(critStr.toString());
- criticalField.setHorizontalAlignment(SwingConstants.CENTER);
- GridBagConstraints gbc_criticalField = new GridBagConstraints();
- gbc_criticalField.fill = GridBagConstraints.HORIZONTAL;
- gbc_criticalField.gridx = 3;
- gbc_criticalField.gridy = 2;
- panel.add(criticalField, gbc_criticalField);
- criticalField.setColumns(10);
-
- JPanel panel_1 = new JPanel();
- GridBagConstraints gbc_panel_1 = new GridBagConstraints();
- gbc_panel_1.fill = GridBagConstraints.BOTH;
- gbc_panel_1.gridx = 0;
- gbc_panel_1.gridy = 1;
- add(panel_1, gbc_panel_1);
- GridBagLayout gbl_panel_1 = new GridBagLayout();
- gbl_panel_1.columnWidths = new int[]{0, 0, 0, 0};
- gbl_panel_1.rowHeights = new int[]{0, 0, 0};
- gbl_panel_1.columnWeights = new double[]{1.0, 1.0, 1.0, Double.MIN_VALUE};
- gbl_panel_1.rowWeights = new double[]{0.0, 0.0, Double.MIN_VALUE};
- panel_1.setLayout(gbl_panel_1);
-
- JLabel lblRange = new JLabel("RANGE");
- lblRange.setHorizontalAlignment(SwingConstants.CENTER);
- lblRange.setForeground(Color.WHITE);
- lblRange.setOpaque(true);
- lblRange.setBackground(Color.BLACK);
- lblRange.setFont(new Font("Tahoma", Font.BOLD, 8));
- GridBagConstraints gbc_lblRange = new GridBagConstraints();
- gbc_lblRange.fill = GridBagConstraints.BOTH;
- gbc_lblRange.insets = new Insets(0, 0, 0, 1);
- gbc_lblRange.gridx = 0;
- gbc_lblRange.gridy = 0;
- panel_1.add(lblRange, gbc_lblRange);
-
- JLabel lblType = new JLabel("TYPE");
- lblType.setOpaque(true);
- lblType.setHorizontalAlignment(SwingConstants.CENTER);
- lblType.setForeground(Color.WHITE);
- lblType.setFont(new Font("Tahoma", Font.BOLD, 8));
- lblType.setBackground(Color.BLACK);
- GridBagConstraints gbc_lblType = new GridBagConstraints();
- gbc_lblType.fill = GridBagConstraints.HORIZONTAL;
- gbc_lblType.insets = new Insets(0, 0, 0, 1);
- gbc_lblType.gridx = 1;
- gbc_lblType.gridy = 0;
- panel_1.add(lblType, gbc_lblType);
-
- JLabel lblSpecialProperties = new JLabel("SPECIAL PROPERTIES");
- lblSpecialProperties.setHorizontalAlignment(SwingConstants.CENTER);
- lblSpecialProperties.setForeground(Color.WHITE);
- lblSpecialProperties.setOpaque(true);
- lblSpecialProperties.setBackground(Color.BLACK);
- lblSpecialProperties.setFont(new Font("Tahoma", Font.BOLD, 8));
- GridBagConstraints gbc_lblSpecialProperties = new GridBagConstraints();
- gbc_lblSpecialProperties.fill = GridBagConstraints.BOTH;
- gbc_lblSpecialProperties.insets = new Insets(0, 0, 0, 1);
- gbc_lblSpecialProperties.gridx = 2;
- gbc_lblSpecialProperties.gridy = 0;
- panel_1.add(lblSpecialProperties, gbc_lblSpecialProperties);
-
- rangeField = new JTextField(StringHelper.toString(weapon.getRange().toString()));
- rangeField.setHorizontalAlignment(SwingConstants.CENTER);
- GridBagConstraints gbc_rangeField = new GridBagConstraints();
- gbc_rangeField.insets = new Insets(0, 0, 0, 0);
- gbc_rangeField.fill = GridBagConstraints.HORIZONTAL;
- gbc_rangeField.gridx = 0;
- gbc_rangeField.gridy = 1;
- panel_1.add(rangeField, gbc_rangeField);
- rangeField.setColumns(10);
-
- typeField = new JTextField(item.getWeapon().getType().toString());
- typeField.setHorizontalAlignment(SwingConstants.CENTER);
- typeField.setColumns(10);
- GridBagConstraints gbc_typeField = new GridBagConstraints();
- gbc_typeField.insets = new Insets(0, 0, 0, 0);
- gbc_typeField.fill = GridBagConstraints.HORIZONTAL;
- gbc_typeField.gridx = 1;
- gbc_typeField.gridy = 1;
- panel_1.add(typeField, gbc_typeField);
-
- propField = new JTextField();
- GridBagConstraints gbc_propField = new GridBagConstraints();
- gbc_propField.fill = GridBagConstraints.HORIZONTAL;
- gbc_propField.gridx = 2;
- gbc_propField.gridy = 1;
- panel_1.add(propField, gbc_propField);
- propField.setColumns(10);
- // TODO Auto-generated constructor stub
- }
- }
|