|
@@ -1,31 +1,40 @@
|
|
package ui.view;
|
|
package ui.view;
|
|
|
|
|
|
import java.awt.BorderLayout;
|
|
import java.awt.BorderLayout;
|
|
-import java.awt.Component;
|
|
|
|
import java.awt.FlowLayout;
|
|
import java.awt.FlowLayout;
|
|
import java.awt.event.*;
|
|
import java.awt.event.*;
|
|
import java.io.*;
|
|
import java.io.*;
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
|
|
|
|
+import javax.swing.DefaultListModel;
|
|
import javax.swing.JButton;
|
|
import javax.swing.JButton;
|
|
import javax.swing.JDialog;
|
|
import javax.swing.JDialog;
|
|
import javax.swing.JFileChooser;
|
|
import javax.swing.JFileChooser;
|
|
import javax.swing.JPanel;
|
|
import javax.swing.JPanel;
|
|
|
|
+import javax.swing.JScrollPane;
|
|
|
|
+import javax.swing.ListModel;
|
|
|
|
+import javax.swing.ListSelectionModel;
|
|
import javax.swing.border.EmptyBorder;
|
|
import javax.swing.border.EmptyBorder;
|
|
import javax.swing.filechooser.FileNameExtensionFilter;
|
|
import javax.swing.filechooser.FileNameExtensionFilter;
|
|
import javax.swing.JLabel;
|
|
import javax.swing.JLabel;
|
|
import javax.swing.JTextField;
|
|
import javax.swing.JTextField;
|
|
import javax.swing.JList;
|
|
import javax.swing.JList;
|
|
-import javax.swing.JOptionPane;
|
|
|
|
import javax.swing.SwingConstants;
|
|
import javax.swing.SwingConstants;
|
|
|
|
|
|
|
|
+import classes.HolonElement;
|
|
|
|
+
|
|
|
|
+import javax.swing.JScrollBar;
|
|
|
|
+import javax.swing.ScrollPaneConstants;
|
|
|
|
+
|
|
public class AddObjectPopUp extends JDialog {
|
|
public class AddObjectPopUp extends JDialog {
|
|
|
|
|
|
private final JPanel contentPanel = new JPanel();
|
|
private final JPanel contentPanel = new JPanel();
|
|
private AddElementPopUp addElement;
|
|
private AddElementPopUp addElement;
|
|
private JTextField textField;
|
|
private JTextField textField;
|
|
private JTextField textField_1;
|
|
private JTextField textField_1;
|
|
- private File selectedFile = null;
|
|
|
|
- private String filePath = " ";
|
|
|
|
|
|
+ private ArrayList<HolonElement> hElements;
|
|
|
|
+ private DefaultListModel listModel;
|
|
|
|
+ private JList list;
|
|
|
|
|
|
/**
|
|
/**
|
|
* Launch the application.
|
|
* Launch the application.
|
|
@@ -49,6 +58,7 @@ public class AddObjectPopUp extends JDialog {
|
|
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
|
|
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
|
|
getContentPane().add(contentPanel, BorderLayout.CENTER);
|
|
getContentPane().add(contentPanel, BorderLayout.CENTER);
|
|
contentPanel.setLayout(null);
|
|
contentPanel.setLayout(null);
|
|
|
|
+ hElements = new ArrayList<HolonElement> ();
|
|
this.setTitle("Add Object Menu");
|
|
this.setTitle("Add Object Menu");
|
|
{
|
|
{
|
|
JLabel lblName = new JLabel("Name:");
|
|
JLabel lblName = new JLabel("Name:");
|
|
@@ -62,27 +72,54 @@ public class AddObjectPopUp extends JDialog {
|
|
contentPanel.add(textField);
|
|
contentPanel.add(textField);
|
|
textField.setColumns(10);
|
|
textField.setColumns(10);
|
|
}
|
|
}
|
|
- {
|
|
|
|
- textField_1 = new JTextField();
|
|
|
|
- textField_1.setBounds(135, 51, 271, 20);
|
|
|
|
- contentPanel.add(textField_1);
|
|
|
|
- textField_1.setColumns(10);
|
|
|
|
- }
|
|
|
|
{
|
|
{
|
|
JButton btnBrowseImage = new JButton("Browse Image");
|
|
JButton btnBrowseImage = new JButton("Browse Image");
|
|
btnBrowseImage.setBounds(10, 50, 112, 23);
|
|
btnBrowseImage.setBounds(10, 50, 112, 23);
|
|
contentPanel.add(btnBrowseImage);
|
|
contentPanel.add(btnBrowseImage);
|
|
btnBrowseImage.addMouseListener(new MouseAdapter() {
|
|
btnBrowseImage.addMouseListener(new MouseAdapter() {
|
|
- public void mouseClicked(MouseEvent e) {
|
|
|
|
- fileChooser();
|
|
|
|
- }
|
|
|
|
|
|
+ public void mouseClicked(MouseEvent e){
|
|
|
|
+ JFileChooser FileChooser = new JFileChooser();
|
|
|
|
+ FileNameExtensionFilter filter = new FileNameExtensionFilter("png, jpg or jpeg", "png", "jpg", "jpeg");
|
|
|
|
+ FileChooser.setFileFilter(filter);
|
|
|
|
+ int returnValue = FileChooser.showOpenDialog(null);
|
|
|
|
+ if (returnValue == JFileChooser.APPROVE_OPTION){
|
|
|
|
+ File selectedFile = FileChooser.getSelectedFile();
|
|
|
|
+ String filePath = selectedFile.getAbsolutePath();
|
|
|
|
+ InputStream inStream = null;
|
|
|
|
+ OutputStream outStream = null;
|
|
|
|
+ try{
|
|
|
|
+ File source =new File(filePath);
|
|
|
|
+ File dest =new File(System.getProperty("user.dir") + "/res/Images/", selectedFile.getName());
|
|
|
|
+ inStream = new FileInputStream(source);
|
|
|
|
+ outStream = new FileOutputStream(dest);
|
|
|
|
+
|
|
|
|
+ byte[] buffer = new byte[1024];
|
|
|
|
+
|
|
|
|
+ int length;
|
|
|
|
+ while ((length = inStream.read(buffer)) > 0){
|
|
|
|
+ outStream.write(buffer, 0, length);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (inStream != null)inStream.close();
|
|
|
|
+ if (outStream != null)outStream.close();
|
|
|
|
+ System.out.println("File Copied..");
|
|
|
|
+ }catch(IOException e1){
|
|
|
|
+ e1.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ // textArea.setText("File Loaded: " + selectedFile.getName() + "\n\n\n" + "Hit 'Run Code'");
|
|
|
|
+ }
|
|
|
|
+ else System.out.println("Failed to Load");
|
|
|
|
+ //UnitXMLReader.ChosenFile = filePath;
|
|
|
|
+
|
|
|
|
+ }
|
|
});
|
|
});
|
|
|
|
|
|
}
|
|
}
|
|
{
|
|
{
|
|
- JList list = new JList();
|
|
|
|
- list.setBounds(10, 98, 242, 130);
|
|
|
|
- contentPanel.add(list);
|
|
|
|
|
|
+ textField_1 = new JTextField();
|
|
|
|
+ textField_1.setBounds(135, 51, 271, 20);
|
|
|
|
+ contentPanel.add(textField_1);
|
|
|
|
+ textField_1.setColumns(10);
|
|
}
|
|
}
|
|
{
|
|
{
|
|
JButton btnAddDefaultElement = new JButton("Add Default Element");
|
|
JButton btnAddDefaultElement = new JButton("Add Default Element");
|
|
@@ -90,27 +127,52 @@ public class AddObjectPopUp extends JDialog {
|
|
public void actionPerformed(ActionEvent arg0) {
|
|
public void actionPerformed(ActionEvent arg0) {
|
|
addElement = new AddElementPopUp();
|
|
addElement = new AddElementPopUp();
|
|
addElement.setVisible(true);
|
|
addElement.setVisible(true);
|
|
|
|
+ HolonElement hl = addElement.getElement();
|
|
|
|
+ addElement(hl);
|
|
}
|
|
}
|
|
- });
|
|
|
|
|
|
+ });
|
|
|
|
+
|
|
btnAddDefaultElement.setBounds(262, 95, 144, 23);
|
|
btnAddDefaultElement.setBounds(262, 95, 144, 23);
|
|
contentPanel.add(btnAddDefaultElement);
|
|
contentPanel.add(btnAddDefaultElement);
|
|
}
|
|
}
|
|
|
|
+ {
|
|
|
|
+ JScrollPane scrollPane = new JScrollPane();
|
|
|
|
+ scrollPane.setBounds(10, 84, 236, 133);
|
|
|
|
+ contentPanel.add(scrollPane);
|
|
|
|
+ {
|
|
|
|
+
|
|
|
|
+ listModel = new DefaultListModel();
|
|
|
|
+ HolonElement hel = new HolonElement("Test", 100, 5);
|
|
|
|
+ String name = hel.getEleName();
|
|
|
|
+ for(int i = 0; i < 11; i++){
|
|
|
|
+ hel.setEleName(name + i);
|
|
|
|
+ addElement(hel);
|
|
|
|
+ }
|
|
|
|
+ list = new JList(listModel);
|
|
|
|
+ scrollPane.setViewportView(list);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ {
|
|
|
|
+ JButton btnNewButton = new JButton("Delete Default Element");
|
|
|
|
+ btnNewButton.addActionListener(new ActionListener() {
|
|
|
|
+ public void actionPerformed(ActionEvent e) {
|
|
|
|
+ int selectedIndex = list.getSelectedIndex();
|
|
|
|
+ if(selectedIndex != -1){
|
|
|
|
+ listModel.remove(selectedIndex);
|
|
|
|
+ hElements.remove(selectedIndex);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ btnNewButton.setBounds(262, 129, 144, 23);
|
|
|
|
+ contentPanel.add(btnNewButton);
|
|
|
|
+ }
|
|
|
|
+
|
|
{
|
|
{
|
|
JPanel buttonPane = new JPanel();
|
|
JPanel buttonPane = new JPanel();
|
|
buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
|
|
buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
|
|
getContentPane().add(buttonPane, BorderLayout.SOUTH);
|
|
getContentPane().add(buttonPane, BorderLayout.SOUTH);
|
|
{
|
|
{
|
|
JButton okButton = new JButton("OK");
|
|
JButton okButton = new JButton("OK");
|
|
- okButton.addMouseListener(new MouseAdapter() {
|
|
|
|
- public void mouseClicked(MouseEvent e) {
|
|
|
|
- if (!textField_1.getText().equals(filePath)) {
|
|
|
|
- Component frame = null;
|
|
|
|
- JOptionPane.showMessageDialog(frame, "No image selected!");
|
|
|
|
- } else {
|
|
|
|
- copieFile();
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
okButton.setActionCommand("OK");
|
|
okButton.setActionCommand("OK");
|
|
buttonPane.add(okButton);
|
|
buttonPane.add(okButton);
|
|
getRootPane().setDefaultButton(okButton);
|
|
getRootPane().setDefaultButton(okButton);
|
|
@@ -122,47 +184,9 @@ public class AddObjectPopUp extends JDialog {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
- protected void fileChooser() {
|
|
|
|
- // TODO Auto-generated method stub
|
|
|
|
- JFileChooser FileChooser = new JFileChooser();
|
|
|
|
- FileNameExtensionFilter filter = new FileNameExtensionFilter("png, jpg or jpeg", "png", "jpg", "jpeg");
|
|
|
|
- FileChooser.setFileFilter(filter);
|
|
|
|
- int returnValue = FileChooser.showOpenDialog(null);
|
|
|
|
- if (returnValue == JFileChooser.APPROVE_OPTION) {
|
|
|
|
- selectedFile = FileChooser.getSelectedFile();
|
|
|
|
- filePath = selectedFile.getAbsolutePath();
|
|
|
|
- textField_1.setText(filePath);
|
|
|
|
- } else {
|
|
|
|
- System.out.println("Failed to Load");
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- protected void copieFile() {
|
|
|
|
- InputStream inStream = null;
|
|
|
|
- OutputStream outStream = null;
|
|
|
|
- try {
|
|
|
|
- File source = new File(filePath);
|
|
|
|
- File dest = new File(System.getProperty("user.dir") + "/res/Images/", selectedFile.getName());
|
|
|
|
- inStream = new FileInputStream(source);
|
|
|
|
- outStream = new FileOutputStream(dest);
|
|
|
|
-
|
|
|
|
- byte[] buffer = new byte[1024];
|
|
|
|
-
|
|
|
|
- int length;
|
|
|
|
- while ((length = inStream.read(buffer)) > 0) {
|
|
|
|
- outStream.write(buffer, 0, length);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if (inStream != null)
|
|
|
|
- inStream.close();
|
|
|
|
- if (outStream != null)
|
|
|
|
- outStream.close();
|
|
|
|
- System.out.println("File Copied..");
|
|
|
|
- } catch (IOException e1) {
|
|
|
|
- e1.printStackTrace();
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
|
|
+ public void addElement(HolonElement hl){
|
|
|
|
+ hElements.add(hl);
|
|
|
|
+ listModel.addElement(hl.getAmount() + "x: " + hl.getEleName() + " " + hl.getEnergy() + "U");
|
|
}
|
|
}
|
|
-
|
|
|
|
}
|
|
}
|