enkel java|Programmering / Grafisk formgivning|Forum|Nordichardware

Search
Forum Scope


Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
Lost password?
The forums are currently locked and only available for read only access
sp_Feed sp_TopicIcon
enkel java
cadaver
Siktar mot toppen
Medlem
Forum Posts: 61
Member Since:
February 9, 2002
sp_UserOfflineSmall Offline
1
May 15, 2005 - 6:03 pm
sp_Permalink sp_Print

Pinsamt enkel java fråga,
hur många sätt kan man deklarera instansvariablar på?

Ex:
private KorvKiosk[] kiosk;

Kan det skrivas som
private kiosk [] = new KorvKiosk;

Kiosk är ska vara en array av KorvKiosk...

squarepusher
Member
Medlem
Forum Posts: 2154
Member Since:
May 29, 2001
sp_UserOfflineSmall Offline
890874
May 15, 2005 - 7:30 pm
sp_Permalink sp_Print

cadaver wrote: Pinsamt enkel java fråga,
hur många sätt kan man deklarera instansvariablar på?

Ex:
private KorvKiosk[] kiosk;

Kan det skrivas som
private kiosk [] = new KorvKiosk;

Kiosk är ska vara en array av KorvKiosk...

instans variabeln fungerar bra som du har skrivit, kan vara smart att lägga till en till variabel som heter "int antal" eftersom det är en array som du ska lagra dina KorvKiosk objekt i. Då kan du skriva en konstruktor i den här stilen:
public klassnamn_här(int a) {
antal = a;
kiosk= new kiosk[antal];
}
I main blir det då:
Klass_namn koisk1 = new Klass_namn(20);

Något i den stilen, har hållt på och kodat äckel VB några dagar så du får ursäkta om några slarvfel har slinkit med

fet_loa
Kommer du hit ofta?
Medlem
Forum Posts: 1332
Member Since:
September 11, 2002
sp_UserOfflineSmall Offline
890917
May 15, 2005 - 8:19 pm
sp_Permalink sp_Print

cadaver wrote: Kan det skrivas som
private kiosk [] = new KorvKiosk;

nä, om du vill att variabeln som refererar till arrayen ska heta "kiosk" och arrayen ska innehålla "KorvKiosk" objekt, så kan du inte göra såhär.

du deklarerar en (privat) KorvKiosks-array såhär:
private KorvKiosk[] kiosk;
precis som du skrivit...

sen instantierar du den såhär:
kiosk = new KorvKiosk[storlekpåarrayen];

sen fyller du den med KorvKiosk objekt hur du vill...

om du menar att du vill göra allt på en gång så går dt bra:
private KorvKiosk[] kiosk = new KorvKiosk[storlekpåarrayen];

du kan också deklarera den såhär:
private KorvKiosk kiosk[];
men det är enligt mig inte bra, det blir bara svårbegripligt....

cadaver
Siktar mot toppen
Medlem
Forum Posts: 61
Member Since:
February 9, 2002
sp_UserOfflineSmall Offline
891465
May 16, 2005 - 4:34 pm
sp_Permalink sp_Print

Okej, jag förstår 🙂
Kommer att anända mig av tipsen. Nu dock en annan fråga:

        JFrame frame = new JFrame("Particle crasher v0.1");
JPanel panel = new JPanel(new BorderLayout());
JButton b1 = new JButton("Load");
JButton b2 = new JButton("Save");
JButton b3 = new JButton("Exit");
frame.setSize(400,400);
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
frame.getContentPane().add(panel);
panel.add(b1,BorderLayout.WEST);
panel.add(b2,BorderLayout.EAST);
panel.add(b3,BorderLayout.SOUTH);
frame.pack();
frame.show();

Jag använder frame.setSize(400,400); men ändå så blir inte fönstret den storleken. Är inte frame fönstret? Hur ska jag få fönstret att starta i 400,400?

cadaver
Siktar mot toppen
Medlem
Forum Posts: 61
Member Since:
February 9, 2002
sp_UserOfflineSmall Offline
891478
May 16, 2005 - 4:49 pm
sp_Permalink sp_Print

Okej jag lyckades ändra storleken så den blev rätt:

        JFrame frame = new JFrame("Particle crasher v0.1");
JPanel panel = new JPanel(new BorderLayout());
JButton b1 = new JButton("Load");
JButton b2 = new JButton("Save");
JButton b3 = new JButton("Exit");
frame.setSize(256,256);
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
frame.getContentPane().add(panel);

cont = new Container();
frame.getContentPane().add(cont);
frame.setVisible(true);

panel.add(b1,BorderLayout.WEST);
panel.add(b2,BorderLayout.EAST);
panel.add(b3,BorderLayout.SOUTH);

frame.pack();
frame.show();

Dock så försvinner mina knappar då, hur får jag tillbaka dom?

fet_loa
Kommer du hit ofta?
Medlem
Forum Posts: 1332
Member Since:
September 11, 2002
sp_UserOfflineSmall Offline
892346
May 17, 2005 - 3:57 pm
sp_Permalink sp_Print

när du använder pack() så kommer dina storleksinställningar för den komponenten sluta gälla, istället "packas" allt samman så det blir så lite oanvänd yta som möjligt.

metoden show() används inte gärna (den är sk deprecated = starkt ogillad =) ) sen JDK 5). man bör istället använda setVisible(boolean) som du gjort.. men när den anropas så kommer allt synas som ställts in innan den kallats. du har satt den innan knapparna läggs till i "panel" och borde ligga därefter. dock så borde show() göra susen som det ser ut nu. men testa att ta bort pack() och show() och lägg setVisible(true) sist av allt.

om inte detta funkar så är ett tips att försöka isolera problemet, jag hade startat med att ta bort BorderLayout, den ställer ofta till med jobbiga problem. testa att använda vanlig FlowLayout till att börja med så du ser att knapparna existerar iaf.

jag gillar också att alltid skapa alla knappar och panels etc först sen sist innan jag gör fönstret synligt så lägger jag till allt i min JFrame eller vad jag använder, det blir mycket lättare att hitta vad man gjort och när.

allt som har med awt o swing att göra innebär ofta en del pillemojs.. bara att testa sig fram.

cadaver
Siktar mot toppen
Medlem
Forum Posts: 61
Member Since:
February 9, 2002
sp_UserOfflineSmall Offline
892422
May 17, 2005 - 5:44 pm
sp_Permalink sp_Print

Tack! Det löste sig!
Jag skapade en ny JPanel som jag placerade knapparna på. Tog dock och gjorde som du sa, dvs tog bort show() och placerade setVisible(true) sist.

Forum Timezone: Europe/Stockholm
Most Users Ever Online: 694
Currently Online:
Guest(s) 102
Currently Browsing this Page:
2 Guest(s)
Top Posters:
Andreas Galistel: 16287
Jonas Klar: 15897
ilg@dd: 10810
Nyhet: 10607
Mind: 10550
Ctrl: 10355
Gueno: 9881
Guest: 9344
Snorch: 8881
Callister: 8468
Newest Members:
PetrbonFU PetrbonFU
Karine Bembry
Dolores Mcdaniels
Anibal McLeish
Francisca Alt
Alfie Everhart
Lester Huitt
Orlando Jorgensen
Mikki Lundgren
Dakota Kozlowski
Forum Stats:
Groups: 11
Forums: 59
Topics: 146630
Posts: 1300967

 

Member Stats:
Guest Posters: 2
Members: 79425
Moderators: 0
Admins: 11
Administrators: nordicadmin, Henrik Berntsson, Anton Karmehed, Carl Holmberg, Joel Oscarsson, Mikael Linnér, Mikael Schwartz, Andreas Paulsson, Nickebjrk, Mattias Pettersson, EmxL