perjan Skrevet 10. februar 2006 Del Skrevet 10. februar 2006 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
Vasily Skrevet 10. februar 2006 Del Skrevet 10. februar 2006 Image bilde = new ImageIcon("bilde.gif").getImage(); Lenke til kommentar
perjan Skrevet 11. februar 2006 Forfatter Del Skrevet 11. februar 2006 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
___ Skrevet 12. februar 2006 Del Skrevet 12. februar 2006 Takk for svaret:)Men hva mer må jeg gjøre her for at bildet skal komme opp? Er bare knappene som kommer opp På samme måte som du adder knappene må du også adde bildet. Werner Lenke til kommentar
perjan Skrevet 13. februar 2006 Forfatter Del Skrevet 13. februar 2006 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
Skuggen Skrevet 18. februar 2006 Del Skrevet 18. februar 2006 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
perjan Skrevet 19. februar 2006 Forfatter Del Skrevet 19. februar 2006 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
Skuggen Skrevet 19. februar 2006 Del Skrevet 19. februar 2006 (endret) 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 19. februar 2006 av Skuggen Lenke til kommentar
perjan Skrevet 1. mars 2006 Forfatter Del Skrevet 1. mars 2006 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
Pingle Skrevet 1. mars 2006 Del Skrevet 1. mars 2006 // Create the panel that contains the "cards". cards = new JPanel(new CardLayout()); cards.add(card1, lblBilde); cards.add(Component, Component), den metoden finnes ikke... Lenke til kommentar
perjan Skrevet 1. mars 2006 Forfatter Del Skrevet 1. mars 2006 // 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
Pingle Skrevet 1. mars 2006 Del Skrevet 1. mars 2006 Du har opprettet objektet cards, men det objektet har ikke metoden du prøver å bruke. http://java.sun.com/j2se/1.5.0/docs/api/ja.../Container.html bla ned til 'Method Summary', der ser du de ulike add metodene. Tror du er tjent med å ta i bruk en IDE. feks. eclipse eller netbeans Lenke til kommentar
Skuggen Skrevet 1. mars 2006 Del Skrevet 1. mars 2006 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 Lenke til kommentar
perjan Skrevet 4. mars 2006 Forfatter Del Skrevet 4. mars 2006 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
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå