02. august 2002 - 12:22Der er
8 kommentarer og 1 løsning
Baggrunds billede i awt Gui ??
Har siddet og fnidret med java i et ½års tid nu, og min lærebog (JaveGently) er kanon til at fortælle om hvordan man henter billeder ind i applets, Har prøvet at se på api'erne på sun.com, men finder sub klasserne, og ingen deciderede syntax eksempler.
Jeg vil blot gerne vide hvordan man lægger et baggrunds billede på en Gui i awt?
Image mainimg = Toolkit.getDefaultToolkit().getImage("forside.gif"); Icon mainico = new ImageIcon(mainimg); JLable main = new JLabel(mainico);//billede lægges ned i et label
JPanel black = new JPanel(); XYLayout layout = new XYLayout(); black.setLayout(layout); black.setBackground(Color.black);//baggrund = sort Dimension scr = Toolkit.getDefaultToolkit().getScreenSize(); black.add(main, new XYConstraints(0, 0, scr.width, (scr.height-55))); getContentPane().add(black, new XYConstraints(0, 55, scr.width, (scr.height-55)));
Billedet placeres simpelthen i et JLable(eller Label) og så skulle det spille!
Eksemplet er godtnok med Swing, men bare fjern J'et(f.eks. bliver JPanel til Panel), så arbejder du med AWT.
Desværre.......... det lader ikke til at spille helt så let. Kan sagtens lave et panel, men når det kommer til Icon og de der XY(); layouts, brokker min compiler sig i stor stil............ (Virker ikke =() import java.io.*; import java.awt.*; import java.awt.event.*; import java.awt.image.*; class v1Beta extends Frame { Button b1; Button b2; v1Beta() {setLayout(new FlowLayout(FlowLayout.CENTER, 30, 25)); setForeground(Color.blue); setBackground(Color.yellow); Image mainimg = Toolkit.getDefaultToolkit().getImage("forside.gif"); Icon mainico = new ImageIcon(mainimg); Label main = new Label(mainico);//billede lægges ned i et label Panel black = new Panel(); XYLayout layout = new XYLayout(); black.setLayout(layout); black.setBackground(Color.black);//baggrund = sort Dimension scr = Toolkit.getDefaultToolkit().getScreenSize(); black.add(main, new XYConstraints(0, 0, scr.width, (scr.height-55))); getContentPane().add(black, new XYConstraints(0, 55, scr.width, (scr.height-55))); add(black); setVisible(true); } }
//Label main = new Label(mainimg);//billede lægges ned i et label Panel black = new Panel(); Dimension scr = Toolkit.getDefaultToolkit().getScreenSize(); setVisible(true); } } Kan dog ´stadig ikke få noget baggrundsbillede på =(
Ok, jeg burde have nævnt, at XYLayout ikke er standard i SDK'en fra SUN. Den er udviklet af Borland.
Dette virker med Swing:
import java.awt.*; import javax.swing.*;
class v1Beta extends JFrame { Button b1; Button b2; Container c = getContentPane();
v1Beta(){
setBackground(Color.yellow); Image mainimg = Toolkit.getDefaultToolkit().getImage("atom.gif"); Icon mainico = new ImageIcon(mainimg); JLabel main = new JLabel(mainico);//billede lægges ned i et label Panel black = new Panel(); Dimension scr = Toolkit.getDefaultToolkit().getScreenSize(); black.setLayout(new FlowLayout(FlowLayout.CENTER, 30, 25)); black.add(main); c.add(black); setVisible(true); }
public static void main(String a[]){ new v1Beta(); } }
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.