Update Window.java
This commit is contained in:
+77
-10
@@ -1,20 +1,31 @@
|
|||||||
|
|
||||||
|
|
||||||
import java.awt.BorderLayout;
|
import java.awt.BorderLayout;
|
||||||
|
import java.awt.Color;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Toolkit;
|
import java.awt.Toolkit;
|
||||||
|
import java.awt.event.WindowAdapter;
|
||||||
|
import java.awt.event.WindowEvent;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.GregorianCalendar;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
import javax.swing.JFrame;
|
import javax.swing.JFrame;
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.JOptionPane;
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
import javax.swing.UIManager;
|
import javax.swing.UIManager;
|
||||||
import javax.swing.UnsupportedLookAndFeelException;
|
import javax.swing.UnsupportedLookAndFeelException;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.time.DateUtils;
|
||||||
|
|
||||||
public class Window extends JFrame {
|
public class Window extends JFrame {
|
||||||
|
|
||||||
private static HashMap<String, Panel> panels = new HashMap<String, Panel>();
|
private static HashMap<String, Panel> panels = new HashMap<String, Panel>();
|
||||||
private static JPanel centerPanel;
|
private static JPanel centerPanel;
|
||||||
|
private static GregorianCalendar date;
|
||||||
|
private static Agenda agenda;
|
||||||
|
|
||||||
public Window()
|
public Window()
|
||||||
{
|
{
|
||||||
@@ -22,7 +33,14 @@ public class Window extends JFrame {
|
|||||||
* Initialize window
|
* Initialize window
|
||||||
*/
|
*/
|
||||||
super("Agenda");
|
super("Agenda");
|
||||||
setDefaultCloseOperation(EXIT_ON_CLOSE);
|
agenda = new Agenda();
|
||||||
|
|
||||||
|
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
|
||||||
|
addWindowListener(new WindowAdapter() {
|
||||||
|
public void windowClosing(WindowEvent evt) {
|
||||||
|
onExit();
|
||||||
|
}
|
||||||
|
});
|
||||||
setSize(1200, 800);
|
setSize(1200, 800);
|
||||||
|
|
||||||
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
|
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
|
||||||
@@ -35,33 +53,82 @@ public class Window extends JFrame {
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
setJMenuBar(new MenuBar());
|
setJMenuBar(new MenuBar(this));
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Create Panels
|
* Create Panels
|
||||||
*/
|
*/
|
||||||
ArrayList<Event> events = new ArrayList<Event>();
|
|
||||||
events.add(new Event(2015, 2, 24, 12, 21, 2015, 2, 24, 13, 23, new Artist("Kenneth van Ewijk", "PeopMuziek", "null", "Cool vent"), "Leuke dingen deon", 2, 1));
|
|
||||||
panels.put("table", new PanelTable(events, null));
|
|
||||||
|
|
||||||
|
//Agenda Panels
|
||||||
|
Panel tablePanel = new PanelTable();
|
||||||
|
panels.put("table", tablePanel);
|
||||||
|
|
||||||
|
//Main Panels
|
||||||
JPanel mainPanel = new JPanel(new BorderLayout());
|
JPanel mainPanel = new JPanel(new BorderLayout());
|
||||||
centerPanel = new JPanel();
|
centerPanel = new JPanel(new BorderLayout());
|
||||||
JPanel bottomPanel = new PanelDate();
|
centerPanel.setBackground(Color.WHITE);
|
||||||
|
JPanel bottomPanel = new JPanel();
|
||||||
|
bottomPanel.setBackground(Color.DARK_GRAY);
|
||||||
|
|
||||||
|
date = new GregorianCalendar();
|
||||||
|
SimpleDateFormat formatter=new SimpleDateFormat("dd-MM-yyyy");
|
||||||
|
JLabel dateLabel = new JLabel(formatter.format(date.getTime()));
|
||||||
|
dateLabel.setForeground(Color.WHITE);
|
||||||
|
bottomPanel.add(dateLabel);
|
||||||
|
|
||||||
|
//Add panels
|
||||||
mainPanel.add(centerPanel, BorderLayout.CENTER);
|
mainPanel.add(centerPanel, BorderLayout.CENTER);
|
||||||
mainPanel.add(bottomPanel, BorderLayout.SOUTH);
|
mainPanel.add(bottomPanel, BorderLayout.SOUTH);
|
||||||
|
|
||||||
setContentPane(mainPanel);
|
setContentPane(mainPanel);
|
||||||
|
|
||||||
updatePanel("table");
|
updatePanel("table2");
|
||||||
|
|
||||||
|
//Show window
|
||||||
setVisible(true);
|
setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void updatePanel(String panel)
|
public static void updatePanel(String panel)
|
||||||
{
|
{
|
||||||
centerPanel.removeAll();
|
if(centerPanel.getComponents().length > 0)
|
||||||
centerPanel.add(panels.get(panel));
|
{
|
||||||
|
centerPanel.remove(0);
|
||||||
|
}
|
||||||
|
Panel p = panels.get(panel);
|
||||||
|
p.update(getEvents());
|
||||||
|
JPanel p1 = (JPanel)p;
|
||||||
|
p1.setPreferredSize(centerPanel.getSize());
|
||||||
|
centerPanel.add(p1, BorderLayout.CENTER);
|
||||||
centerPanel.repaint();
|
centerPanel.repaint();
|
||||||
|
p1.repaint();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void onExit() {
|
||||||
|
if(JOptionPane.showConfirmDialog(null, "Are you sure you want to close this program?", "Close Agenda", JOptionPane.YES_NO_OPTION) == JOptionPane.OK_OPTION)
|
||||||
|
{
|
||||||
|
System.exit(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ArrayList<Event> getEvents()
|
||||||
|
{
|
||||||
|
ArrayList<Event> events = new ArrayList<Event>();
|
||||||
|
for(Event e : agenda.getEvents())
|
||||||
|
{
|
||||||
|
if(DateUtils.isSameDay(e.getStartDate(), date) || DateUtils.isSameDay(e.getEndDate(), date))
|
||||||
|
{
|
||||||
|
events.add(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return events;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Agenda getAgenda()
|
||||||
|
{
|
||||||
|
return agenda;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user