|
@@ -1,6 +1,7 @@
|
|
|
package ui.view;
|
|
|
|
|
|
import java.awt.BorderLayout;
|
|
|
+import java.awt.Component;
|
|
|
import java.awt.FlowLayout;
|
|
|
import java.awt.event.*;
|
|
|
import java.io.*;
|
|
@@ -19,6 +20,7 @@ import javax.swing.filechooser.FileNameExtensionFilter;
|
|
|
import javax.swing.JLabel;
|
|
|
import javax.swing.JTextField;
|
|
|
import javax.swing.JList;
|
|
|
+import javax.swing.JOptionPane;
|
|
|
import javax.swing.SwingConstants;
|
|
|
|
|
|
import classes.HolonElement;
|
|
@@ -36,6 +38,9 @@ public class AddObjectPopUp extends JDialog {
|
|
|
private DefaultListModel listModel;
|
|
|
private JList list;
|
|
|
|
|
|
+ private File selectedFile = null;
|
|
|
+ private String filePath = " ";
|
|
|
+
|
|
|
|
|
|
* Launch the application.
|
|
|
*/
|
|
@@ -58,7 +63,7 @@ public class AddObjectPopUp extends JDialog {
|
|
|
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
|
|
|
getContentPane().add(contentPanel, BorderLayout.CENTER);
|
|
|
contentPanel.setLayout(null);
|
|
|
- hElements = new ArrayList<HolonElement> ();
|
|
|
+ hElements = new ArrayList<HolonElement>();
|
|
|
this.setTitle("Add Object Menu");
|
|
|
{
|
|
|
JLabel lblName = new JLabel("Name:");
|
|
@@ -77,41 +82,9 @@ public class AddObjectPopUp extends JDialog {
|
|
|
btnBrowseImage.setBounds(10, 50, 112, 23);
|
|
|
contentPanel.add(btnBrowseImage);
|
|
|
btnBrowseImage.addMouseListener(new MouseAdapter() {
|
|
|
- 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();
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- else System.out.println("Failed to Load");
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
+ public void mouseClicked(MouseEvent e) {
|
|
|
+ fileChooser();
|
|
|
+ }
|
|
|
});
|
|
|
|
|
|
}
|
|
@@ -130,7 +103,7 @@ public class AddObjectPopUp extends JDialog {
|
|
|
HolonElement hl = addElement.getElement();
|
|
|
addElement(hl);
|
|
|
}
|
|
|
- });
|
|
|
+ });
|
|
|
|
|
|
btnAddDefaultElement.setBounds(262, 95, 144, 23);
|
|
|
contentPanel.add(btnAddDefaultElement);
|
|
@@ -139,12 +112,12 @@ public class AddObjectPopUp extends JDialog {
|
|
|
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++){
|
|
|
+ for (int i = 0; i < 11; i++) {
|
|
|
hel.setEleName(name + i);
|
|
|
addElement(hel);
|
|
|
}
|
|
@@ -157,7 +130,7 @@ public class AddObjectPopUp extends JDialog {
|
|
|
btnNewButton.addActionListener(new ActionListener() {
|
|
|
public void actionPerformed(ActionEvent e) {
|
|
|
int selectedIndex = list.getSelectedIndex();
|
|
|
- if(selectedIndex != -1){
|
|
|
+ if (selectedIndex != -1) {
|
|
|
listModel.remove(selectedIndex);
|
|
|
hElements.remove(selectedIndex);
|
|
|
}
|
|
@@ -166,13 +139,23 @@ public class AddObjectPopUp extends JDialog {
|
|
|
btnNewButton.setBounds(262, 129, 144, 23);
|
|
|
contentPanel.add(btnNewButton);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
{
|
|
|
JPanel buttonPane = new JPanel();
|
|
|
buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
|
|
|
getContentPane().add(buttonPane, BorderLayout.SOUTH);
|
|
|
{
|
|
|
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");
|
|
|
buttonPane.add(okButton);
|
|
|
getRootPane().setDefaultButton(okButton);
|
|
@@ -184,9 +167,51 @@ public class AddObjectPopUp extends JDialog {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- public void addElement(HolonElement hl){
|
|
|
+
|
|
|
+ public void addElement(HolonElement hl) {
|
|
|
hElements.add(hl);
|
|
|
listModel.addElement(hl.getAmount() + "x: " + hl.getEleName() + " " + hl.getEnergy() + "U");
|
|
|
}
|
|
|
+
|
|
|
+ protected void fileChooser() {
|
|
|
+
|
|
|
+ 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();
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|