Avatar billede mikkel79 Nybegynder
16. marts 2003 - 09:28 Der er 1 kommentar og
1 løsning

GUI

Hvorfor virker dette ikke det er meningen der skal oprettes et panel (BorderLayout) hvori der vest skal oprettet et Panel(BoxLayout)

  {
    super (new BorderLayout ());
    //JPanel APanel = new JPanel ();
    //APanel.setLayout(new BorderLayout ());

    JPanel APanelWest = new JPanel ();
    APanelWest.setLayout(new BoxLayout (this, BoxLayout.Y_AXIS));

    add(APanelWest, BorderLayout.WEST);

    setBackground (Color.lightGray);


    JLabel Label = new JLabel ("D");
    JTextField TextD  = new JTextField (7);
    JButton AKnap = new JButton ("A");

    TextArea AUdskriv = new TextArea("", 10, 60, TextArea.SCROLLBARS_VERTICAL_ONLY);
    add(AUdskriv, BorderLayout.EAST);
    APanelWest.add(Label);
    APanelWest.add(AKnap);



  }
Avatar billede repsak Nybegynder
16. marts 2003 - 10:24 #1
Du skruver kun super(new BorderLayout()); hvis din klasse arver fra JPanel (og det behøver du ike i dette tilfælde). Så skriver du APanel.add("West", APanelWest);
Avatar billede viht Nybegynder
16. marts 2003 - 11:21 #2
Der er et par fejl.

1. Du giver this med som parameter til BoxLayoutet. Du skal give den komponent
med som skal bruge netop den LayoutManager, altså APanelWest. APanelWest.setLayout(new BoxLayout(APanelWest, BoxLayout.Y_AXIS));

Se mit eksempel her:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class AFrame extends JFrame {
   
    public AFrame() {
        super("Test");
        setSize(400,400);
       
        JPanel mainPanel = new JPanel(new BorderLayout());
        JPanel westPanel = new JPanel();
        westPanel.setLayout(new BoxLayout(westPanel, BoxLayout.Y_AXIS));
        westPanel.setBorder(BorderFactory.createTitledBorder("WEST"));
       
        westPanel.add(new JLabel("Hej med dig"));
        westPanel.add(new JLabel("Hej hej"));
        westPanel.add(new JLabel("Hej!"));
        westPanel.add(new JButton("Ok"));
       
        mainPanel.add(westPanel, BorderLayout.WEST);
       
        getContentPane().add(mainPanel, BorderLayout.CENTER);
    }
}

class Go {
    public static void main(String[] args) {
      new AFrame().show();
  }
}
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