package devopsdistilled.operp.client.items.panes.details; import javax.inject.Inject; import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; import net.miginfocom.swing.MigLayout; import devopsdistilled.operp.client.abstracts.AbstractEntityDetailsPane; import devopsdistilled.operp.client.items.controllers.ItemController; import devopsdistilled.operp.server.data.entity.items.Item; public class ItemDetailsPane extends AbstractEntityDetailsPane<Item, ItemController> { @Inject private ItemController itemController; private final JPanel pane; private Item item; private final JTextField itemIdField; private final JTextField itemNameField; private final JTextField brandField; private final JTextField priceField; private final JTextField productField; public ItemDetailsPane() { pane = new JPanel(); pane.setLayout(new MigLayout("", "[][grow]", "[][][][][][][]")); JLabel lblItemId = new JLabel("Item ID:"); pane.add(lblItemId, "cell 0 0,alignx trailing"); itemIdField = new JTextField(); itemIdField.setEditable(false); pane.add(itemIdField, "cell 1 0,growx"); itemIdField.setColumns(30); JLabel lblItemName = new JLabel("Item Name:"); pane.add(lblItemName, "cell 0 1,alignx trailing"); itemNameField = new JTextField(); itemNameField.setEditable(false); pane.add(itemNameField, "cell 1 1,growx"); itemNameField.setColumns(30); JLabel lblProduct = new JLabel("Product:"); pane.add(lblProduct, "cell 0 2,alignx trailing"); productField = new JTextField(); productField.setEditable(false); pane.add(productField, "cell 1 2,growx"); productField.setColumns(30); JLabel lblNewLabel = new JLabel("Brand:"); pane.add(lblNewLabel, "cell 0 3,alignx trailing,aligny baseline"); brandField = new JTextField(); brandField.setEditable(false); pane.add(brandField, "cell 1 3,growx"); brandField.setColumns(30); JLabel lblPrice = new JLabel("Price:"); pane.add(lblPrice, "cell 0 4,alignx trailing"); priceField = new JTextField(); priceField.setEditable(false); pane.add(priceField, "cell 1 4,growx"); priceField.setColumns(30); } @Override public JPanel getPane() { return pane; } @Override public void show(Item item, JComponent owner) { this.item = item; if (item != null) { itemIdField.setText(item.getItemId().toString()); itemNameField.setText(item.getItemName()); productField.setText(item.getProduct().getProductName()); brandField.setText(item.getBrand().getBrandName()); priceField.setText(item.getPrice().toString()); showDetailsPane(getPane(), owner); } else { dialog.dispose(); JOptionPane.showMessageDialog(getPane(), "null object produced"); } } @Override public String getTitle() { return "Item Details"; } @Override public ItemController getEntityController() { return itemController; } @Override protected Item getEntity() { return item; } }