04. december 2004 - 13:17Der er
15 kommentarer og 1 løsning
placering i swing
Jeg har et problem med at swing ikke rigtigt viser de ting jeg vil have vist - Layoutet er bygget op som borderlayout med north, center, south og center delen er inddelt i north og south.
kortfattet kode:
hoveddelen: public Main(){ ... ReserveLayout r = new ReserveLayout(); Container content = frame.getContentPane(); JTabbedPane pane = new JTabbedPane(); pane.add("Reserve", r.center); ... }
JPanel center, bottom; JButton submitButton, resetButton;
ReserveLayout(){ Reserve r = new Reserve(); center = new JPanel(); bottom = new JPanel(); center.setLayout(new BorderLayout());
// sets up the SOUTH area submitButton = new JButton("Submit"); resetButton = new JButton("Reset"); bottom.add(submitButton); bottom.add(resetButton); bottom.setBorder(BorderFactory.createEtchedBorder());
// set the current element to center panel center.add(r, BorderLayout.NORTH); center.add(bottom, BorderLayout.SOUTH); } }
Reserve(){ panel = new JPanel(); nameLabel = new JLabel("Flightname"); nameField = new JTextField(); passengerLabel = new JLabel("Passengers"); passengerField = new JTextField();
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Reserve(){ panel = new JPanel(); nameLabel = new JLabel("Flightname"); nameField = new JTextField(); passengerLabel = new JLabel("Passengers"); passengerField = new JTextField();
setLayout(null); // Sætter null-layout så du selv kan bestemme koordinater
Ja, hvis du sætter null-layout bliver du tvunget til at sætte koordinater på hver komponent. Men det har du jo også gjort i din doLayout() - som du dog aldrig kalder. Derfor bliver de ikke placeret nogle steder.
Så vidt jeg forstår skal doLayout bare overrides - så den eksekveres automatisk, men umiddelbart lyder setLayout(null), fint, men det medfører bare at der ikke bliver skrevet noget
Hmmm - ja, du har vist ret mht doLayout() (har dog aldrig selv brugt den på den måde) Prøv lige at kald den metode noget andet og kald den så i din contructor som jeg viste i mit eksempel. Så burde det virke.
det virker - men den har det nu bedst med getPref.. og get Mini.. Overriding er og bliver djævlens værk - udelukkende implementeret i sproget så java.sun.com for tusindevis at daglige hits :)
Korrekt - det er essensen, men det er netop også det der giver grå hår :)
Synes godt om
Ny brugerNybegynder
Din løsning...
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.