Java:
package GraphicalUserInterface;
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import Listener.MenuListener;
public class UserInterface extends JFrame {
private MyMenu menu = null;
private MenuPanel menuP = null;
private ContentPanel contentP = null;
private JPanel mainPanel = null;
public UserInterface() throws ClassNotFoundException,
InstantiationException, IllegalAccessException,
UnsupportedLookAndFeelException {
UIManager
.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
setFrame();
mainPanel = new JPanel();
BorderLayout Layout = new BorderLayout();
setLayout(Layout);
setMenu();
setContent();
menu = new MyMenu();
setJMenuBar(menu);
add(mainPanel);
menuP.setPanel(contentP);
setVisible(true);
}
public void setFrame() {
setSize(500, 500);
setTitle("AdressbookGUI - Test");
setResizable(false);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void setMenu() {
menuP = new MenuPanel();
mainPanel.add("North", menuP);
}
public void setContent() {
contentP = new ContentPanel();
[B]menuP.setPanel(contentP);[/B]
mainPanel.add("Center", contentP);
}
public static void main(String[] args) throws ClassNotFoundException,
InstantiationException, IllegalAccessException,
UnsupportedLookAndFeelException {
UserInterface ui = new UserInterface();
}
}
Java:
package GraphicalUserInterface;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JPanel;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.filechooser.FileFilter;
import Listener.MenuListener;
public class MenuPanel extends JPanel {
JButton[] button = new JButton[7];
String button_icon[] = new String[] { "new.png", "edit.png", "delete.png",
"search.png", "dbload.png", "dbsave.png", "settings.png" };
String button_tooltip[] = new String[] { "Neuen Kontakt hinzufügen",
"Kontakt editieren", "Kontakt löschen", "Kontakt suchen",
"Kontaktdatenbank laden", "Kontaktdatenbank speichern",
"Einstellungen" };
String button_text[] = new String[] { "addUser", "editUser", "deleteUser",
"searchUser", "dbLoad", "dbSave", "settings" };
MenuListener mListener = new MenuListener();
ContentPanel panel = null;
public void setPanel(ContentPanel panel) {
this.panel = panel;
}
public MenuPanel() {
GridLayout Layout = new GridLayout(1, 8);
setLayout(Layout);
MenuComponents();
[B]mListener.setPanel(panel);[/B]
}
public void MenuComponents() {
for (int i = 0; i < button.length; i++) {
URL path = getClass().getResource("/ap/icons/" + button_icon[i]);
button[i] = new JButton(new ImageIcon(path));
button[i].setToolTipText(button_tooltip[i]);
button[i].setPreferredSize(new Dimension(60, 50));
button[i].setName(button_text[i]);
button[i].addActionListener(mListener);
add(button[i]);
}
}
}
Java:
package Listener;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import javax.swing.JButton;
import Data.User;
import GraphicalUserInterface.ContentPanel;
import GraphicalUserInterface.FileChooserLoad;
import HandleData.ConvertData;
import HandleData.LoadData;
public class MenuListener implements ActionListener
{
ArrayList<User> userList = new ArrayList<User>();
LoadData ld = new LoadData();
ConvertData cd = new ConvertData();
FileChooserLoad fLoad = null;
String openFile;
String[][] rowData;
ContentPanel Panel = null;
public void setPanel(ContentPanel panel) {
Panel = panel;
}
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
JButton button = (JButton) arg0.getSource();
if (button.getName().equals("dbLoad"))
{
fLoad = new FileChooserLoad();
openFile = fLoad.fChooserOpen();
try {
userList = ld.readFile(openFile);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
rowData = cd.convert(userList);
[B]Panel.setRowData(rowData);
Panel.revalidate();[/B]
}
}
}