Gå til innhold

Anbefalte innlegg

Har et gui med knapper som kaller på andre gui, knappene ligger i sør, men vil ha et bilde opp i nord eller sentrert, hvordan får jeg inn et bilde i guie?

 

Takk for hjelpen:)



     knappePanel.setBackground(Color.black);
     butt3 = new JButton("Endre");
        butt4 = new JButton("Vis");
        butt5 = new JButton("Registre");
       Container KnappePanel = getContentPane();;
     knappePanel.add(butt3);
        knappePanel.add(butt4);
        knappePanel.add(butt5);
       getContentPane().add(knappePanel, BorderLayout.SOUTH);

Lenke til kommentar
Videoannonse
Annonse

Takk for svaret:)

Men hva mer må jeg gjøre her for at bildet skal komme opp? Er bare knappene som kommer opp

 




     JPanel flate=new JPanel();
     Image bilde = new ImageIcon("bilde.gif").getImage();
       getContentPane().add(flate, BorderLayout.SOUTH);
     JPanel knappePanel=new JPanel();
     knappePanel.setBackground(Color.black);
   	butt3 = new JButton("Endre ");
        butt4 = new JButton("Vis ");
        butt5 = new JButton("Registrer endre/kunde");
       Container KnappePanel = getContentPane();;
     knappePanel.add(butt3);
        knappePanel.add(butt4);
        knappePanel.add(butt5);
     getContentPane().add(knappePanel, BorderLayout.SOUTH);

Lenke til kommentar

Eg er muligens veldig treig nå, men får denne feilmeldingen nå..

Kan dere hjelpe meg en siste gang:)

java.lang.Error: Unresolved compilation problem:

The method add(Component) in the type Container is not applicable for the arguments (Image)

 

 

 

    JPanel logo = new JPanel();
   	Image bilde = new ImageIcon("bilde.gif").getImage();
   	Container Logo = getContentPane();
     logo.add(bilde);
   	getContentPane().add(logo, BorderLayout.NORTH);
     	JPanel knappePanel=new JPanel();
     knappePanel.setBackground(Color.black);
   	butt3 = new JButton("Endre ");
        butt4 = new JButton("Vis ");
        butt5 = new JButton("Registrer");
       Container KnappePanel = getContentPane();
     knappePanel.add(butt3);
        knappePanel.add(butt4);
        knappePanel.add(butt5);
        getContentPane().add(knappePanel, BorderLayout.SOUTH);

Lenke til kommentar

Image er ikke en Component. Sett bildet ditt inn i en JLabel og legg til JLabel'en i logo. Har ikke testa, men det burde funke slik:

 

JPanel logo = new JPanel();

//Ny linje
JLabel lblBilde = new JLabel(new ImageIcon("bilde.gif"));

Container Logo = getContentPane();
logo.add(lblBilde);

Lenke til kommentar
Image er ikke en Component. Sett bildet ditt inn i en JLabel og legg til JLabel'en i logo. Har ikke testa, men det burde funke slik:

 

JPanel logo = new JPanel();

//Ny linje
JLabel lblBilde = new JLabel(new ImageIcon("bilde.gif"));

Container Logo = getContentPane();
logo.add(lblBilde);

5626002[/snapback]

 

må en ikke ha noe sånn som dette for at det skal komme opp?

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

 

Det fungerte verken med det eller uten.

Men takk for hjelpen så langt.)

Lenke til kommentar
må en ikke ha noe sånn som dette for at det skal komme opp?

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

 

Det fungerte verken med det eller uten.

Men takk for hjelpen så langt.)

 

Var kanskje litt kjapp der... Kopierte bare den koden du skrev. Her er litt modifisert kode som jeg har brukt selv og som funker hos meg. Regner med at du har satt layouten på hovedpanelet ditt til BorderLayout. Husk også at hvis du legger til to komponenter i samme del av BorderLayout (f.eks to JLabeler i SOUTH), så vil bare den siste vises.

 

setLayout(new BorderLayout());
JLabel lblBilde = new JLabel(new ImageIcon("bilde.gif"));
add(lblBilde, BorderLayout.SOUTH);

 

Koden ovenfor må selvfølgelig utføres på riktig Container.

 

Kan også anbefale deg å lese swingtutorialen fra sun. Den finner du her.

Endret av Skuggen
Lenke til kommentar
  • 2 uker senere...
må en ikke ha noe sånn som dette for at det skal komme opp?

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

 

Det fungerte verken med det eller uten.

Men takk for hjelpen så langt.)

 

Var kanskje litt kjapp der... Kopierte bare den koden du skrev. Her er litt modifisert kode som jeg har brukt selv og som funker hos meg. Regner med at du har satt layouten på hovedpanelet ditt til BorderLayout. Husk også at hvis du legger til to komponenter i samme del av BorderLayout (f.eks to JLabeler i SOUTH), så vil bare den siste vises.

 

setLayout(new BorderLayout());
JLabel lblBilde = new JLabel(new ImageIcon("bilde.gif"));
add(lblBilde, BorderLayout.SOUTH);

 

Koden ovenfor må selvfølgelig utføres på riktig Container.

 

Kan også anbefale deg å lese swingtutorialen fra sun. Den finner du her.

5629546[/snapback]

 

 

 

Takk for svarene det har vært til stor hjelp:)

 

Men nå står jeg litt fast igjen... Har en menuBar med items for å åpne forskjellige andre GUI, men vil ha inn et bilde under menuBar. Forstår du va jeg gjør feil nå?

Får denne feilmeldingen:

 

java.lang.IllegalArgumentException: cannot add to layout: constraint must be a string

at java.awt.CardLayout.addLayoutComponent(Unknown Source)

at java.awt.Container.addImpl(Unknown Source)

at java.awt.Container.add(Unknown Source)

at MAIN.GUIMeny.addComponentToPane(GUIMeny.java:144)

at MAIN.GUIMeny.createAndShowGUI(GUIMeny.java:172)

at MAIN.GUIMeny.access$1(GUIMeny.java:155)

at MAIN.GUIMeny$16.run(GUIMeny.java:994)

at java.awt.event.InvocationEvent.dispatch(Unknown Source)

 

   public void addComponentToPane(Container pane) {


    // Create the "cards".
    JPanel card1 = new JPanel();
    JLabel lblBilde = new JLabel(new ImageIcon("logo.gif"));
    card1.add(lblBilde);
     
    // Create the "cards".

  


   


   

    // Create the panel that contains the "cards".
    cards = new JPanel(new CardLayout());
    cards.add(card1, lblBilde);

    
  
    pane.add(cards, BorderLayout.CENTER);  
 }

Lenke til kommentar
// Create the panel that contains the "cards".

    cards = new JPanel(new CardLayout());

    cards.add(card1, lblBilde);

 

cards.add(Component, Component), den metoden finnes ikke...

5682685[/snapback]

 

 

Beklager, men kan du forklare litt mer hva du mener? cards finnes jo den(cards = new JPanel

Lenke til kommentar
Med andre ord, hvis du vil legge til card1 og bilde så må du gjøre dette i to omganger

 

cards.add(card1);
cards.add(bilde);

 

For at dette skal funke må selvfølgelig cards ha en gyldig layout manager

5684541[/snapback]

 

 

Takk for svarene.. Det funker nå:)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...