14. januar 2005 - 21:44Der er
45 kommentarer og 1 løsning
Hjælp til anvendelse af komponenter
Okay jeg forstår ikke helt hvordan man skal bruge komponenter, som JTable, JOptionPane og alle de andre.. når man skal tilføje noget i dem står der at man skal have minimum et komponent med eller et komponent og en String.
Hvis vi siger jeg vil anvende en JOptionPane og jeg vil sætte noget information ind i den. Hvordan gør jeg så det ? Det er dette objekt jeg vil indsætte et par stykker af
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
public class SimpleGUI extends JFrame { public SimpleGUI() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Date date = new Date(); SimpleDateFormat df = new SimpleDateFormat("ddMMyy"); String s = df.format(date); getContentPane().add(new JLabel("Today: " + s)); pack(); } public static void main(String[] args) { SimpleGUI f = new SimpleGUI(); f.show(); } }
problemet er vi er blevet sat ind i GUI programmering dog ikke hvordan man anvender sådan nogen komponenter, men kan godt se hvad du mener med JScrollPane, og det er let nok at sætte tekst ind i en JTextArea. Hvad så hvis det var en JTable?
og angående det spørgsmål jeg blev stillet hvordan kan jeg lettest udskrive min liste af elever? Jeg tænker på et textaria, men der er måske noget bedre og lettere?
snoop_one Ja det sandt men spørgsmålet her er ikke det samme som i det andet.
Arne kan du hjælpe med dette istedet så får du i hverfald 50Point af de 200Point. Synes ikke der er grund til at oprette et nyt spørgsmål.
Jeg får denne fejl
Error(45,12): variable required, but value found
for (int i = 0 ; i < mineOpgaver.size() ; i++ ) { for (int b = 1 ; b < mineOpgaver.size()-1 ; b++ ) { if(((Opgave)mineOpgaver.get(i)).hentNummer() > ((Opgave)mineOpgaver.get(b)).hentNummer()) { tmp = ((Opgave)mineOpgaver.get(i)); ((Opgave)mineOpgaver.get(i)) = ((Opgave)mineOpgaver.get(b)); ((Opgave)mineOpgaver.get(b)) = tmp; // ((Opgave)mineOpgaver.get(i)).bytPlads(((Opgave)mineOpgaver.get(b)).hentTitel(), ((Opgave)mineOpgaver.get(b)).hentNummer(), ((Opgave)mineOpgaver.get(b)).hentStatus()); // ((Opgave)mineOpgaver.get(b)).bytPlads(tmp.hentTitel(), tmp.hentNummer(), tmp.hentStatus()); } }
}
hvorfor kan jeg ikke det?? I den udkommenterede har jeg lavet en metode hvor jeg går ind i hvert objekt og ændre de forskellige værdier men det besværlig og output stemmer ikke.
Hej fastpoint (jeg er ikke arne_v :0) men...), du kan indkode selve sorteringen i din opgave klasse ved at benytte java's Comparable interface. Som f.eks.
/** * @author Snoop_one */ public class Opgave implements Comparable {
private int nummer;
public Opgave(int nummer) { this.nummer = nummer; }
public static void main(String[] args) { //Lav en random generator til tilfældige tal Random random = new Random(); ArrayList<Opgave> opgaver = new ArrayList<Opgave>(); for(int i = 0;i<100;i++){ // lav en masse opgaver med forskellige værdier mellem 0-99 opgaver.add(new Opgave(random.nextInt(100))); } // usorteret udgave (normal udgave) System.out.println(opgaver); //sortere dem alle Collections.sort(opgaver); //udskriv dem (sorteret udgave) System.out.println(opgaver); }
public int compareTo(Object o) { if (o instanceof Opgave) return (this.nummer - ((Opgave) o).getNummer()); else return 0; }
public int getNummer() { return nummer; }
public String toString(){ return Integer.toString(nummer); } }
Det er linie nummer to. får også samme fejl ved linie nummer tre, men nummer et virker fint!
Til Snoop
Jeg ser tit den kode men skal nok have en kommentar til hver sætning for at forstå det helt præcist derfor jeg laver min egen sorteringsmetode. Vil spørge min lærer om Comparable
Og forresten i min klasse elev er der et arraylist med opgave objekter. Så det er vel i Elev den metode der skal være?
Ja for at benytte comparable generelt skal man overholde en kontrakt (som ikke er så simpel), men eftersom det i det tilfælde kun gælder for primitive typer (integers) så skal du bare i din compareTo(Object o) metode angive placeringen af det object's nummer du sammenligner med iht. dit eget object's nummer. Dvs. hvis :
o.getNummer() < dit nummer -> return 1 o.getNummer() == dit nummer -> return 0 o.getNummer() > dit nummmer -> return -1
Det er det denne linie gør: return (this.nummer - ((Opgave) o).getNummer()); Så styre collections frameworket resten.
Det med at hvor Collections.sort(opgaver) metoden skal ligger, er jeg enig i - at den skal ligge i elev klassen.
hmm.. hvad mener i med det er en værdi? kan godt se man sige get(i) og i er en værdi men hvad med objektet som der peges på? trænger lige til at vågne op:) forklar det lige hurtigt så er jeg med:) fik løst problemet som jeg skrev ved at lave en metode til det (det som er kommenteret ud)
og ellers er der en anden måde at få dem til at bytte plads på?
Satans! Det sandt nok! okay du er sikret dig 50p indtil videre
forstår det ikke lige
for mig ser det ud som om der står sådan her hvis vi nu mineOpgaver.size() returnere 5 for eksempel
første gang løkken køres
for (int i = 0 ; i < 5-1 ; i++ ) { for (int b = i(0) ; b < 5; b++ ) { if(((Opgave)mineOpgaver.get(i(0)).hentNummer() < ((Opgave)mineOpgaver.get(0(b)).hentNummer()) {
jeg har kigget på linket og synes kun der står hvordan man laver en database? jeg tænkte mere på hvordan sætter man noget ind i den?
Hvis man har disse felter i sin database
ID Fornavn Efternavn
hvordan opretter man en forbindelse og sætter noget ind her? Ville være dybt taknemlig hvis du kan lave et eksempel ud fra disse og resten af points tilfalder dig!
På formen behøves der kun være to jTextFields og en knap til at udføre det.
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.