casualtie Skrevet 25. januar 2005 Del Skrevet 25. januar 2005 Sitter litt og knoter med JFormDesigner. Laget et enkelt GUI som jeg ville teste, men koden programmet generer vil ikke la seg kjørel i NetBeans 4.0. Men den kompileres uten feil... Er sikkert noe jeg selv må legge til. NetBeans forteller meg dette: class "test" does not have a main method. Dette er koden(test.java): import java.awt.*; import javax.swing.*; public class test { private void initComponents() { njes = new JPanel(); panel1 = new JPanel(); panel6 = new JPanel(); panel7 = new JPanel(); panel8 = new JPanel(); button1 = new JButton(); button2 = new JButton(); { njes.setLayout(new BorderLayout(20, 20)); { panel1.setLayout(new BorderLayout(10, 10)); { panel6.setLayout(new FlowLayout()); } panel1.add(panel6, BorderLayout.EAST); { panel7.setLayout(new FlowLayout()); } panel1.add(panel7, BorderLayout.WEST); { panel8.setLayout(new FlowLayout()); button1.setText("Hei"); panel8.add(button1); button2.setText("Snakkes"); panel8.add(button2); } panel1.add(panel8, BorderLayout.CENTER); } njes.add(panel1, BorderLayout.CENTER); } } private JPanel njes; private JPanel panel1; private JPanel panel6; private JPanel panel7; private JPanel panel8; private JButton button1; private JButton button2; } Noen som kunne gitt meg et lite hint på hva som er feil? -Takk. Lenke til kommentar
buskmann Skrevet 25. januar 2005 Del Skrevet 25. januar 2005 (endret) Jeg ser heller ingen main-metode i programmet ditt. Det er i main-metoden applikasjoner starter. Det du trenger er en mainmetode som lager en instans av objektet ditt. Kan godt bruke en tom konstruktor som du ikke trenger å lage. Du må også lage en getNjes()-metode. For å se det du lager, så må du sette jpanelet som contentpane på en jframe. PS. Hvis dette er helt gresk for deg, så har du nettopp oppdaget ulempene med å hoppe rett på å bruke et IDE. Endret 25. januar 2005 av buskmann Lenke til kommentar
GaLiHaLen Skrevet 27. januar 2005 Del Skrevet 27. januar 2005 en main metode er typisk: public static void main(String[]args){ //det den skal gjøre } om du vil slippe unda static kan du ha main metoden i en egen klasse og lage ett objekt av den andre klassen og starte det den veien... Lenke til kommentar
buskmann Skrevet 28. januar 2005 Del Skrevet 28. januar 2005 om du vil slippe unda static kan du ha main metoden i en egen klasse og lage ett objekt av den andre klassen og starte det den veien... Og hva er meningen med dette (å ha main-metoden i en klasse for seg selv)? Man deklarer jo aldri en metode som static hvis man skal kjøre den på objektet. Lenke til kommentar
GaLiHaLen Skrevet 28. januar 2005 Del Skrevet 28. januar 2005 må ikke main metoden være public static void main(String[]args) ? har alltid hatt main metoden i egen klasse jeg, så veit ikke om det er noen annen vei å slippe static, men hører gjerne etter, kom gjerne med ett eksempel. Lenke til kommentar
buskmann Skrevet 28. januar 2005 Del Skrevet 28. januar 2005 Jeg skjønner ikke hva du mener med å "slippe static", men kanskje eksempelet under forklarer. public class Test{ private int a = 2; private void settA(int b){ a = b; } private int hentA(){ return a; } public static void main(String[] args){ Test test = new Test(); System.out.println("A er: " + test.hentA()); test.settA(5); System.out.println("A er: " + test.hentA()); } } Lenke til kommentar
GaLiHaLen Skrevet 28. januar 2005 Del Skrevet 28. januar 2005 (endret) hmm, mener jeg har hatt problemer med static, har ikke hatt main på den måten på ett år, må sjå litt no... Endret 28. januar 2005 av GaLiHaLen Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå