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?
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
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.