Avatar billede jesperthomsen1980 Nybegynder
04. november 2002 - 12:19 Der er 4 kommentarer og
1 løsning

GUI - indsættelse af Null Layout i NORTH

Jeg kan ikke få sat et nullLayout panel ind i et andet panel med BorderLayout, medmindre den skal indsættes i CENTER, hvilket ikke er meningen?
ALTSÅ: Hvordan sætter man et null layout ind i et BorderLáyout uden at det skal indsættes i center?


Kildekoden ser sådan ud!

GUIMAINDRIVER

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

class GUIMaindriver
{

public static void main (String [] args) throws Exception
    {
        GUIMain frame = new GUIMain("Sky-Light A/S");
        frame.setSize(800, 600);
        frame.setVisible(true);       
        }

}

GUIMAIN

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


public class GUIMain extends JFrame
{
           
           
                           
      public GUIMain (String title)
    {  super(title);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocation(100,100);
               
        getContentPane().setLayout(new BorderLayout());

        GUIValg valg1 = new GUIValg();
        valg1.setSize(500, 500);
        valg1.setBorder(BorderFactory.createTitledBorder("Valg1"));
        GUIValg valg2 = new GUIValg();
       
        getContentPane().add(valg1, BorderLayout.WEST);
        getContentPane().add(valg2, BorderLayout.NORTH);
       
        setVisible(true);
        pack();   
        show();
    }
}

GUIVALG

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


class GUIValg extends JPanel
{
                       
                        private JButton vareButton, leverandoerButton, ordreButton, emptyButton, opsaetningButton;

public GUIValg()
{
setLayout(null);
setSize(30, 30);

vareButton                     = new JButton("Varer");
leverandoerButton             = new JButton("Leverandør");
ordreButton                 = new JButton("Ordre");
emptyButton                 = new JButton("Empty");
opsaetningButton             = new JButton("Opsætning");

add(vareButton);
add(leverandoerButton);
add(ordreButton);
add(emptyButton);
add(opsaetningButton);

Insets insets = getInsets();

vareButton.setBounds                     (10 + insets.left, 10 + insets.top, 140, 40);
leverandoerButton.setBounds             (160 + insets.left, 20 + insets.top, 140, 40);
ordreButton.setBounds                     (310 + insets.left, 10 + insets.top, 140, 40);
emptyButton.setBounds                     (460 + insets.left, 10 + insets.top, 140, 40);
opsaetningButton.setBounds                 (610 + insets.left, 10 + insets.top, 140, 40);

setVisible(true);
}
}
Avatar billede di8leva Nybegynder
04. november 2002 - 12:29 #1
jag har sett denna koden førut =)

det skall ikke vara noget problem alls... det skall virke direkt....

(men dete gør det ikke, førdi då hade du ikke spørgt hær =)  )
Avatar billede jesperthomsen1980 Nybegynder
04. november 2002 - 12:32 #2
Det er vel et meget enkel spørgsmål, hvis man ved noget om det. (hvilket jeg nok ikke gør) Jeg er ikke sikker på det overhovedet kan lade sig gøre at indsætte det i f.eks. NORTH, hvis man bruger NullLayout!
Avatar billede di8leva Nybegynder
04. november 2002 - 12:34 #3
GUIMain.java-------------
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


public class GUIMain extends JFrame
{


public GUIMain (String title)
{ super(title);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocation(100,100);

getContentPane().setLayout(new BorderLayout());

GUIValg valg1 = new GUIValg();
valg1.setBorder(BorderFactory.createTitledBorder("Valg1"));

getContentPane().add(valg1 , BorderLayout.NORTH);

setVisible(true);
pack();
show();
}
}

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


class GUIValg extends JPanel
{

private JButton vareButton, leverandoerButton, ordreButton, emptyButton, opsaetningButton;

public GUIValg()
{
setLayout(null);
setSize(30, 30);

vareButton = new JButton("Varer");
leverandoerButton = new JButton("Leverandør");
ordreButton = new JButton("Ordre");
emptyButton = new JButton("Empty");
opsaetningButton = new JButton("Opsætning");

add(vareButton);
add(leverandoerButton);
add(ordreButton);
add(emptyButton);
add(opsaetningButton);

Insets insets = getInsets();

vareButton.setBounds (10 + insets.left, 10 + insets.top, 140, 40);
leverandoerButton.setBounds (160 + insets.left, 20 + insets.top, 140, 40);
ordreButton.setBounds (310 + insets.left, 10 + insets.top, 140, 40);
emptyButton.setBounds (460 + insets.left, 10 + insets.top, 140, 40);
opsaetningButton.setBounds (610 + insets.left, 10 + insets.top, 140, 40);

setVisible(true);
}

public Dimension getPreferredSize()
{
return new Dimension(800, 200);
}
}


try it
Avatar billede di8leva Nybegynder
04. november 2002 - 12:35 #4
works for me....

men knap 2 er lite fejl i y-axis....
Avatar billede jesperthomsen1980 Nybegynder
04. november 2002 - 12:41 #5
Det virker også for mig, så nu har jeg endelig de muligheder med Null Layout, som jeg gerne vil have... :-)

Jeg siger mange tak (du må godt nok have styr på det!)
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