Avatar billede spiritusanta Nybegynder
28. marts 2006 - 12:46 Der er 19 kommentarer og
1 løsning

Størrelse på JButton?

Hey
Hvordan ændrer man størrelsen på en JButton?
Jeg har forsøgt med følgende kode, men det virker ikke :(

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

public class LottoInspirator extends JApplet
{
    public void init()
    {
        Box bund = Box.createHorizontalBox();
        //JPanel bund = new JPanel();
        JPanel top = new JPanel();
        JButton ons = new JButton("Testsize");
        ons.setSize(300,300);
        bund.add(ons);
        bund.add(new JButton("Test"));
        bund.add(new JButton("Test2"));
        top.add(new JLabel("Test3"));
        Container cp = getContentPane();
        cp.add(BorderLayout.SOUTH,bund);
        cp.add(BorderLayout.CENTER,top);
    }
}
Avatar billede kalp Novice
28. marts 2006 - 12:54 #1
ons.resize(300,300)

prøv lige den.. det er lidt fy fy da den er deprecated, men  ja.
Avatar billede mikkelbm Nybegynder
28. marts 2006 - 12:55 #2
Hvad hvis du sætter: button.setPreferredSize (dimension) ?
Avatar billede spiritusanta Nybegynder
28. marts 2006 - 12:57 #3
De virker ikke nogen af dem :(
Avatar billede kalp Novice
28. marts 2006 - 12:58 #4
setBounds(int x, int y, int width, int height)

?
Avatar billede kalp Novice
28. marts 2006 - 12:59 #5
Det kan være man skal kalde repaint()
Avatar billede kalp Novice
28. marts 2006 - 13:03 #6
hov.. du skal nok kalde update på knappen
Avatar billede spiritusanta Nybegynder
28. marts 2006 - 13:04 #7
hvordan kalder jeg update på knappen? hvad er det for et argument der skal med
Avatar billede kalp Novice
28. marts 2006 - 13:05 #8
ons.update();
Avatar billede kalp Novice
28. marts 2006 - 13:06 #9
Det er bare forslag.. metodekaldet til setSize er korrekt, så gætter på et eller andet skal repaintes eller opdateres når den er blevet kaldt:)
Avatar billede spiritusanta Nybegynder
28. marts 2006 - 13:08 #10
Det virker heller ikke :(
Kan det ikke have noget at gøre med at jeg benytter det layout som jeg gør?
Avatar billede mikkelbm Nybegynder
28. marts 2006 - 13:09 #11
Det har højst sandsynligt noget med det layout, du bruger, at gøre. Og update/repaint osv. burde ikke være nødvendig.
Avatar billede mikkelbm Nybegynder
28. marts 2006 - 13:10 #12
Hvis du i stedet add'er din knap til "top"-panelet så tror jeg det vil virke. Jeg har ikke selv arbejdet med Box-layout og kender det derfor ikke.
Avatar billede spiritusanta Nybegynder
28. marts 2006 - 13:12 #13
Kunne du forslå et andet layout hvor det burde virke? + at der skal være mulighed for de 3 knapper nederst
Avatar billede mikkelbm Nybegynder
28. marts 2006 - 13:15 #14
Jeg ville bare bruge FlowLayout. Der kan du også sætte alignment på, så du kan bestemme om det skal være høje, venstre eller center-justeret.

// Som default har et JPanel FlowLayout:
JPanel bund = new JPanel ();
bund.add(ons);
bund.add(new JButton("Test"));
bund.add(new JButton("Test2"));
Avatar billede spiritusanta Nybegynder
28. marts 2006 - 13:22 #15
hmm det vil bare ikke virke..

JPanel bund = new JPanel();
JButton knap = new JButton("Der");
knap.setSize(300,300);
bund.add(knap);
Container cp = getContentPane();
cp.add(BorderLayout.SOUTH,bund);
Avatar billede mikkelbm Nybegynder
29. marts 2006 - 18:28 #16
Du skal bruge setPreferredSize, som jeg skrev tidligere.
Avatar billede mikkelbm Nybegynder
29. marts 2006 - 18:29 #17
import javax.swing.*;
import java.awt.*;

public class TestFlowLayout extends JFrame
{
    public TestFlowLayout ()
    {
        setSize (400, 400);
       
        JPanel bottom = new JPanel ();
        JButton button1 = new JButton ("Knap1");
        JButton button2 = new JButton ("Knap2");
        JButton button3 = new JButton ("Knap3");
        button1.setPreferredSize(new Dimension (20, 20));
        button2.setPreferredSize(new Dimension (40, 40));
        button3.setPreferredSize(new Dimension (60, 60));
        bottom.add(button1);
        bottom.add(button2);
        bottom.add(button3);
       
        this.getContentPane().add(bottom, BorderLayout.SOUTH);
    }   
   
    public static void main (String[] args)
    {
        new TestFlowLayout().setVisible(true);
    }
}
Avatar billede mikkelbm Nybegynder
29. marts 2006 - 18:29 #18
Og et svar.
Avatar billede mikkelbm Nybegynder
02. april 2006 - 15:58 #19
Og få så lige lukket her!
Avatar billede spiritusanta Nybegynder
09. april 2006 - 11:14 #20
Undskyld forsinkelsen men har haft travlt på det sidste.. men mange tak, det virker :)
var før hen ikke klar over hvordan den der dimension skulle oprettes
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