Het venster met info over de artiest en het event refresh na een bewerking en verdwijnt wanneer het wordt verwijderd.
182 lines
4.5 KiB
Java
182 lines
4.5 KiB
Java
import java.awt.BorderLayout;
|
|
import java.awt.FlowLayout;
|
|
import java.awt.GridLayout;
|
|
import java.awt.event.ActionEvent;
|
|
import java.awt.event.ActionListener;
|
|
import java.util.Iterator;
|
|
|
|
import javax.swing.JButton;
|
|
import javax.swing.JFrame;
|
|
import javax.swing.JLabel;
|
|
import javax.swing.JOptionPane;
|
|
import javax.swing.JPanel;
|
|
import javax.swing.JTextField;
|
|
|
|
public class EditArtistPanel extends JFrame {
|
|
|
|
private static final long serialVersionUID = 1;
|
|
|
|
public EditArtistPanel(Agenda agenda, Artist art, TabbedPane tab)
|
|
{
|
|
super("Artist editscreen!");
|
|
setDefaultCloseOperation(HIDE_ON_CLOSE);
|
|
JPanel content = new JPanel(new BorderLayout());
|
|
JPanel south = new JPanel(new FlowLayout());
|
|
JPanel center = new JPanel(new GridLayout(5,2));
|
|
content.add(south, BorderLayout.SOUTH);
|
|
content.add(center, BorderLayout.CENTER);
|
|
|
|
JPanel panel1 = new JPanel();
|
|
JLabel name = new JLabel("Artist name: ");
|
|
panel1.add(name);
|
|
center.add(panel1);
|
|
|
|
JPanel panel2 = new JPanel();
|
|
JTextField nameTF = new JTextField(art.getName(),15);
|
|
panel2.add(nameTF);
|
|
center.add(panel2);
|
|
|
|
JLabel genre = new JLabel("Genre: ");
|
|
JPanel panel3 = new JPanel();
|
|
panel3.add(genre);
|
|
center.add(panel3);
|
|
|
|
JTextField genreTF = new JTextField(art.getGenre(),15);
|
|
JPanel panel4 = new JPanel();
|
|
panel4.add(genreTF);
|
|
center.add(panel4);
|
|
|
|
JPanel panel5 = new JPanel();
|
|
JLabel image = new JLabel("Image: ");
|
|
panel5.add(image);
|
|
center.add(panel5);
|
|
|
|
JPanel panel6 = new JPanel();
|
|
JTextField imageTF = new JTextField("null", 15);
|
|
panel6.add(imageTF);
|
|
center.add(panel6);
|
|
|
|
JPanel panel7 = new JPanel();
|
|
JLabel description = new JLabel("Description: ");
|
|
panel7.add(description);
|
|
center.add(panel7);
|
|
|
|
JPanel panel8 = new JPanel();
|
|
JTextField descriptionTF = new JTextField(art.getDescription(), 15);
|
|
panel8.add(descriptionTF);
|
|
center.add(panel8);
|
|
|
|
JPanel panel9 = new JPanel();
|
|
JLabel background = new JLabel("Background: ");
|
|
panel9.add(background);
|
|
center.add(panel9);
|
|
|
|
JPanel panel10 = new JPanel();
|
|
JTextField backgroundTF = new JTextField(art.getBackground(), 15);
|
|
panel10.add(backgroundTF);
|
|
center.add(panel10);
|
|
|
|
|
|
|
|
JButton edit = new JButton("Edit artist!");
|
|
south.add(edit);
|
|
|
|
edit.addActionListener(new ActionListener()
|
|
{
|
|
public void actionPerformed(ActionEvent e) {
|
|
String name = nameTF.getText();
|
|
String genre = genreTF.getText();
|
|
String image = imageTF.getText();
|
|
String description = descriptionTF.getText();
|
|
String background = backgroundTF.getText();
|
|
|
|
boolean alreadyExists = false;
|
|
for (Artist artist : agenda.getArtists())
|
|
{
|
|
if (artist.getName().equals(name) && !artist.equals(art))
|
|
{
|
|
alreadyExists = true;
|
|
}
|
|
}
|
|
if (name.isEmpty() == true){
|
|
JOptionPane.showMessageDialog(null, "Fill in a correct name!");
|
|
}
|
|
else if (alreadyExists == false)
|
|
{
|
|
art.setName(name);
|
|
art.setGenre(genre);
|
|
art.setImageIconString(image);
|
|
art.setDescription(description);
|
|
art.setBackground(background);
|
|
JOptionPane.showMessageDialog(null, "Artist edited!");
|
|
setVisible(false);
|
|
dispose();
|
|
Window.updatePanel("art_sta");
|
|
if(tab != null)
|
|
{
|
|
tab.setVisible(false);
|
|
tab.dispose();
|
|
Event eventartist = null;
|
|
for(Event event: agenda.getEvents())
|
|
{
|
|
if (event.getArtist().getName().equals(name))
|
|
{
|
|
eventartist = event;
|
|
}
|
|
}
|
|
TabbedPane panel = new TabbedPane(agenda, eventartist, false);
|
|
}
|
|
} else {
|
|
JOptionPane.showMessageDialog(null, "Choose a different artist name!");
|
|
}
|
|
|
|
}
|
|
});
|
|
|
|
JButton remove = new JButton("Remove artist!");
|
|
for(Event e : agenda.getEvents())
|
|
{
|
|
if(e.getArtist().equals(art))
|
|
{
|
|
remove.setEnabled(false);
|
|
}
|
|
}
|
|
south.add(remove);
|
|
|
|
remove.addActionListener(new ActionListener()
|
|
{
|
|
public void actionPerformed(ActionEvent e) {
|
|
|
|
if(JOptionPane.showConfirmDialog(null, "Are you sure you want to remove this artist?", "Remove Artist", JOptionPane.YES_NO_OPTION) == JOptionPane.OK_OPTION)
|
|
{
|
|
Iterator<Artist> it = agenda.getArtists().iterator();
|
|
while(it.hasNext())
|
|
{
|
|
Artist a = it.next();
|
|
if(a.equals(art))
|
|
{
|
|
it.remove();
|
|
}
|
|
}
|
|
|
|
JOptionPane.showMessageDialog(null, "Artist removed!");
|
|
setVisible(false);
|
|
dispose();
|
|
Window.updatePanel("art_sta");
|
|
if(tab != null)
|
|
{
|
|
tab.setVisible(false);
|
|
tab.dispose();
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
|
|
setContentPane(content);
|
|
setVisible(true);
|
|
setSize(500,320);
|
|
}
|
|
|
|
}
|