17. december 2003 - 12:55Der er
4 kommentarer og 1 løsning
Hjælp til afbildning af objekter i GUI
Jeg har trukket et objekt ud af en vector ved hjælp af en søgeknap i et GUIbillede. Når objektet er fundet, går jeg direkte over i et andet GUI, hvor objektet skal afbildes i forskellige JTextFields. Mit objekt indeholder fx. navn, hvilket skal stå som default når man kommer ind på næste billede. Nogen bud?
AI bliver først for alvor en del af arbejdet, når teknologien integreres i den måde, vi arbejder på. At have adgang til AI betyder ikke nødvendigvis, at medarbejderne er klar til at bruge den.
Nu er jeg ikke helt så kvik i det, så jeg spørger lige videre :-): Hvor kommer getRelevantText fra? Er det en metode, jeg selv skal skrive først? Med forlov, her kommer koden til de to GUIer der kommer først, samt objekt-klassen Journal:
import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.Vector; /** * @author ehdaniel * To change this generated comment edit the template variable "typecomment": * Window>Preferences>Java>Templates. * To enable and disable the creation of type comments go to * Window>Preferences>Java>Code Generation. */ public class JournalGUI extends Forside implements ActionListener{ private JLabel label = new JLabel("Søg efter journal:"); public JTextField soegeFelt = new JTextField(20); private JButton soeg, nyKlient; Container container = getContentPane(); private Controller cont;
public JournalGUI(){ cont = new Controller(); JPanel journalPanel = new JPanel(); // journalPanel.setLayout(new FlowLayout());
soeg = new JButton("Søg!"); nyKlient = new JButton("Opret ny klient:"); journalPanel.add(label, BorderLayout.SOUTH); journalPanel.add(soegeFelt, BorderLayout.SOUTH); journalPanel.add(soeg, BorderLayout.SOUTH); journalPanel.add(nyKlient, BorderLayout.SOUTH); container.add(journalPanel, BorderLayout.SOUTH); tabJournal.add(journalPanel); soeg.addActionListener(this); } public void actionPerformed(ActionEvent e){ if (e.getSource() == soeg){ Vector v = cont.soegEfter(soegeFelt.getText()); System.out.println("Der blev trykket på søg!"); System.out.println(v); if(v.isEmpty()){ System.out.println("der findes ingen med navnet:" + soegeFelt.getText()); } if (v.size()>1){ System.out.println("Der findes flere med navnet.. vi kan pt. ikke håndtere dette..");
} if (v.size() ==1){ System.out.println("Der blev fundet 1 resultat, og det er her: "); JournalObjekt jo = (JournalObjekt) v.get(0); System.out.println(jo);
KlientJournalGUI kjg = new KlientJournalGUI(); //String navn = jo.getNavn(); // String n= jo.getNavn(); // navn.setText(n); } } } public static void main(String[] args) { JournalGUI jg = new JournalGUI(); jg.setVisible(true); //Forside f = new Forside(); //f.setVisible(true); } } import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;
import javax.swing.*;
/** * @author ehdaniel * * To change this generated comment edit the template variable "typecomment": * Window>Preferences>Java>Templates. * To enable and disable the creation of type comments go to * Window>Preferences>Java>Code Generation. */ public class KlientJournalGUI extends Forside implements ActionListener{ private JButton gem, kontrakt, diagnoseskema; private JTextField navn = new JTextField(); private JTextField adresse = new JTextField(); private JTextField tlfnr = new JTextField(); private JTextField cprnr = new JTextField(); private JTextField dato = new JTextField(); private JournalObjekt jo; private JTextField konsultationsnr = new JTextField(); private JTextArea journal = new JTextArea(" Journal:",15,60); private JLabel tomKnap1, tomKnap2,tomKnap3, tomKnap4, tomKnap5,
tomKnap6, tomKnap7, tomKnap8, tomKnap9, tomKnap10, tomKnap11, tomKnap12, tomKnap13, tomKnap14, tomKnap15, tomKnap16; private String n = new String();
public KlientJournalGUI(){
JPanel north = new JPanel(); JPanel center = new JPanel(); JPanel south = new JPanel();
/** * @author ehdaniel * * To change this generated comment edit the template variable "typecomment": * Window>Preferences>Java>Templates. * To enable and disable the creation of type comments go to * Window>Preferences>Java>Code Generation. */ public class JournalObjekt implements Serializable{ public String navn, adresse; public int tlfnr, cprnr; private ArrayList konsultationsListe = new ArrayList(); //int[] konsultation; //konsultationsListe. public JournalObjekt(){
} public JournalObjekt(String n, String adr, int tlf,int cpr, Konsultationer konsultationer){ navn = n; adresse = adr; tlfnr = tlf; cprnr = cpr; konsultationsListe.add(konsultationer); }
/** * Returns the adresse. * @return String */ public String getAdresse() { return adresse; }
/** * Returns the cprnr. * @return int */ public int getCprnr() { return cprnr; }
/** * Returns the navn. * @return String */ public String getNavn() { return navn; }
/** * Returns the tlfnr. * @return int */ public int getTlfnr() { return tlfnr; }
/** * Sets the adresse. * @param adresse The adresse to set */ public void setAdresse(String adresse) { this.adresse = adresse; }
/** * Sets the cprnr. * @param cprnr The cprnr to set */ public void setCprnr(int cprnr) { this.cprnr = cprnr; }
/** * Sets the navn. * @param navn The navn to set */ public void setNavn(String navn) { this.navn = navn; }
/** * Sets the tlfnr. * @param tlfnr The tlfnr to set */ public void setTlfnr(int tlfnr) { this.tlfnr = tlfnr; }
} Jeg håber det er til at overskue. Der skabes et objekt, som ad omveje kommer over i GUI nr 1, som er JournalGUI. Her trækker man objektet ud af en vector og får spyttet objektet ud. Her efter skal der vises i JTextFields. Pyha, en ordentlig omgang!
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.