Ich habe vor kurzem eine Systemhomepage programmiert, die das Hintergrundbild enthält. Nachdem ich den Hintergrund eingestellt habe, kann die Schaltfläche, die ich erstellt habe, nicht richtig angezeigt werden. Es erscheint nur nachdem ich die Maus benutze und auf die Position der Buttons zeige. Kann mir jemand beibringen, wie ich dieses Problem beheben kann? Ihre Hilfe wird geschätzt. Die Codes sind wie folgt: (wahrscheinlich ein Tippfehler)Warum die Schaltfläche auf dem JFrame mit Hintergrundbild nicht richtig angezeigt werden kann
public class HomePage JFrame erweitert {
private JPanel button = new JPanel();
private JButton time = new JButton("Bus Schedule");
private JButton reserve = new JButton("Booking");
private JButton info = new JButton("About Us");
Container con = getContentPane();
public HomePage(){
setTitle("Bus Reservation System");
setSize(650,500);
setLocation(360,100);
setVisible(true);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setBackground();
setButton();
}
public void setBackground(){
JLabel background = new JLabel(new ImageIcon("C:/User/Desktop/Assignment/bg.jpg"));
con.add(background);
background.setLayout(new FlowLayout());
con.add(button);
}
public void setButton(){
Font but = new Font("Serif" , Font.ITALIC , 20);
info.setFont(but);
time.setFont(but);
reserve.setFont(but);
button.add(info);
button.add(time);
button.add(reserve);
con.add(button);
}
Das ist richtig, froh, dass du es erwähnt hast. Aber, scheint nicht die Wurzel des Problems zu sein, selbst mit dieser Änderung wird die Bilddatei nicht angezeigt. (Ich teste seinen genauen Code auf meinem System). Was es funktionierte, war das Ändern des Pfads und das Festlegen des Layouts des gesamten Containers. –
@AshwinGupta Ausgezeichneter Punkt; Ich verpasste das Layout des JLabel statt Container mit nur einer visuellen Überprüfung des Codes. – AJNeufeld
Ty. Ich weiß, wie das ist. Ich habe es auch das erste Mal vermisst (und das, worauf Sie hingewiesen haben). Deshalb habe ich es auf meinem System getestet, habe keine Fehler festgestellt und war neugierig, warum es nicht funktionierte. Das war, als ich das Problem fand. –