02. september 2008 - 00:42Der er
4 kommentarer og 1 løsning
Design spørgsmål
Hej
jeg sidder og roder med java er er i tvivl mht. hvordan et program med f.eks. gui skal designes. spørgsmål:
1. Skal alt guien være i en klasse eller hvordan er "god kode" eller regler for at dele det op i flere klasser
2. Jeg har 3 klasser nu. "Database", "Application" og "Gui" i programmet kan man skrive nogle ting i nogle jtextfield og klikke på en knap og så bliver de ting opdateret eller ændret i databasen. hvor skal alt den kode være? i hvilke klasse? og hvilke klasser skal oprette objekter af hinanden?
2.1. nu er det sådan at når man klikke på en knap så bliver der fyret en metode af i gui klassen. den metode indeholder som reglen bare en linien, nemlig en reference til en metode i Application-klassen som så laver arbejdet. det bliver gjordt ved at have oprettet et object af applications klassen i gui-konstruktøren. er det måden?
Jeg lavede engang et projekt hvor vi havde en rimelig stor gui, derfor valgte vi at arbejde med panels efter forskellige bruger niveauer.. Her er nogle udtag eksempler derfra, kunne godt være det kunne give lidt inspiration..
public abstract void setViewPanel(JPanel viewPanel);
public abstract void setControlPanel(JPanel controlPanel);
public void updateDisplay(JPanel panel) { }
public void updateInfoPanel(JPanel panel) { }
public JPanel getViewPanel() { return this.viewPanel; }
public JPanel getControlPanel() { return this.controlPanel; }
public JPanel getInfoPanel() { return this.infoPanel; }
public JFrame getFrame() { return this; } } --- GUI, her er et eksempel kun på panels tilhørende admins public class AdminPanels extends JPanel implements ActionListener { private EventController ec; private AdminController controller;
public AdminPanels(EventController ec) { }
public void setStyle(String name) { }
public void showEmpAdd(String[] workTypes, String[] hospitals) { } } ----- Model, Controlleren public class AdminController { private EmployeeActions employeeActions;
public AdminController() throws Exception { employeeActions = new EmployeeActions(); }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.