Avatar billede gala Nybegynder
26. november 2003 - 10:55 Der er 10 kommentarer og
1 løsning

Swing forklaring

Hej!
Swing noob i nød!
Hvordan laver man størrelse på knapper? Jeg kan indtil videre kun finde ud af at lave en panel, hvor knapperne fylder helt ud til alle kanter. Jeg skal bruge en menu hvor der er luft mellem knapperne. How??

Takker på forhånd!
Gala
Avatar billede carstenknudsen Nybegynder
26. november 2003 - 11:03 #1
Du kan lægge din knap i en Box.createHorizontalBox()
hvor du indlægger glue med Box.createHorizontalGlue() før og efter knappen.
Box box = Box.createHorizontalBox();
box.add( Box.createHorizontalBox() );
box.add( new JButton("Klik") );
box.add( Box.createHorizontalBox() );
Avatar billede carstenknudsen Nybegynder
26. november 2003 - 11:04 #2
Skulle have været:
Box box = Box.createHorizontalBox();
box.add( Box.createHorizontalGlue() );
box.add( new JButton("Klik") );
box.add( Box.createHorizontalGlue() );
Avatar billede gala Nybegynder
26. november 2003 - 11:14 #3
hm ok...men hvordan ved man hvor den box bliver lavet henne? og hvad størrelse har den? Jeg skal have den til at hoppe ind i min menu i venstre side...hvordan får man den til det?
Avatar billede Slettet bruger
26. november 2003 - 11:20 #4
Her er et simpelt svar....

1. Lav en knap
2. Set preferredSize
3. Tilføj den eventuelt til JFrame
4. Klap i dine små hænder, for nu er knappen den størrelse du har angivet

Koden:
--------------------------------------------------------------------------

import java.awt.*
import javax.swing.*;

public class KnapTest extends JFrame
{  public static void main(String[] args) {
        KnapTest kt = new KnapTest();
        kt.setSize(640, 480);
        kt.show();
    }
    public KnapTest() {
        JButton minKnap = new JButton("Hej, jeg er en knap");
        minKnap.setPreferredSize(new Dimension(100, 20));
       
        getContentPane().add(minKnap);
    }
}
--------------------------------------------------------------------------
Compile, og kør... det burde fungere....

Håber jeg hjalp dig på rette vej :-)
Avatar billede mikkelbm Nybegynder
26. november 2003 - 11:53 #5
Der kan godt forekomme lidt problemer i forbindelse med at bestemme størrelsen på diverse elementer, hvis man bruger nogle bestemte layout-managers.
Avatar billede _carsten Nybegynder
26. november 2003 - 12:11 #6
Jeg må helt klart give mikkelbm ret, en studietur i de forskellige LayoutManagers er et must - der er mange måder at gøre tingene på.

http://java.sun.com/docs/books/tutorial/uiswing/layout/index.html
Avatar billede gala Nybegynder
26. november 2003 - 12:43 #7
corholio>>
den kommer med en fejl under compilingen:
identifier expected for (new Dimension.....

nogen forslag?
Avatar billede gala Nybegynder
26. november 2003 - 12:47 #8
og så også noget med at pakken minKnap ikke eksisterer...
Avatar billede _carsten Nybegynder
26. november 2003 - 13:31 #9
Hvis det er corholio's kode du refererer til, så mangler der kun et semikolon
efter  import java.awt.*  altså    import java.awt.*;

Ellers er den OK
Avatar billede _carsten Nybegynder
26. november 2003 - 13:38 #10
Og dog - ved nærmere læsning har corholio's kode en fejl - den illustrerer ingenting

Følgende omskrivning giver et bedre billede - men igen, du slipper ikke for at kigge på LayoutManagers.


import java.awt.*;
import javax.swing.*;

public class KnapTest extends JFrame
{  public static void main(String[] args) {
        KnapTest kt = new KnapTest();
        kt.setSize(640, 480);
        kt.show();
    }
    public KnapTest() {
        getContentPane().setLayout(new FlowLayout());
        JButton minKnap = new JButton("Hej, jeg er en knap");
        JButton minKnap2 = new JButton("Hej, jeg er knap nr. 2");
        minKnap.setPreferredSize(new Dimension(100, 20));
        minKnap2.setPreferredSize(new Dimension(200, 20));
       
        getContentPane().add(minKnap);
        getContentPane().add(minKnap2);
    }
}
Avatar billede _carsten Nybegynder
02. december 2003 - 20:22 #11
Oprydningstid ????????????
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester