Sascha1122
Grünschnabel
Hallo,
ich habe folgendes Problem: Ich verwende ein Bild als Hintergrund, aber ich weiß nicht wie ich es auch Hintergrund bekomme. Also Panels und Buttons werden nicht darauf gebracht. Entweder sie sind gar nicht zu sehen oder man muss erst mit der Maus drüber fahren um sie zu sehen.
Ich habe es probiert indem ich den Hintergrund in ein Panel gebe und das darüberliegende Panel auf "durchsichtig " setze mir "setOpalse(false)"
Die andere Möglichkeit ist mit der Paint-methode.
Funktioniert beides nicht so richtig =(
Hat jemand eine Idee?
public class QuizLayout extends JFrame {
Vector v = new Vector();
// Anlegen der GUI Elemente
Container cp = this.getContentPane();
Image img = Toolkit.getDefaultToolkit().getImage("wwm.jpg");
JLabel background = new JLabel( new ImageIcon(img), JLabel.CENTER);
JLabel headline = new JLabel("Das JavaQuiz", JLabel.CENTER);
JLabel question = new JLabel("Hier steht die Frage", JLabel.CENTER);
JPanel ctnpnl = new JPanel();
JPanel anspnl = new JPanel();
ButtonGroup bg = new ButtonGroup();
JRadioButton[] answers = new JRadioButton[4];
JPanel btnpnl = new JPanel();
JButton nextbtn = new JButton("Quiz starten");
JButton backbtn = new JButton("Letzte Frage");
Score score = new Score(this);
Events eventhandling = new Events(this, score);
JMenuBar mb = new JMenuBar();
JMenu menu = new JMenu("Anmelden");
JMenuItem mItem1 = new JMenuItem("Anmelden");
// public void paint(Graphics g) {
// Dimension scr = Toolkit.getDefaultToolkit().getScreenSize();
// Image img = Toolkit.getDefaultToolkit().getImage("wwm.jpg");
// g.drawImage(img,0,0,scr.width,scr.height,this);
// }
public QuizLayout(Vector v_) {
this.v = v_;
this.setTitle(headline.getText());
this.setSize(500,500);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocation(300,200);
this.setJMenuBar(mb);
mb.add(menu);
menu.add(mItem1);
headline.setVerticalAlignment(JLabel.CENTER);
// headline.setOpaque(false);
headline.setFont(new Font("Arial", Font.BOLD, 20));
//answerpanel
anspnl.setLayout(new GridLayout(2,2));
// anspnl.setOpaque(false);
for (int k=0;k<4;k++){
answers[k] = new JRadioButton("RadioButton");
anspnl.add(answers[k]);
bg.add(answers[k]);
}
ctnpnl.setLayout(new GridLayout(2,1));
ctnpnl.add(question);
ctnpnl.add(anspnl);
cp.add("North",background);
cp.add("North",headline);
cp.add("Center",ctnpnl);
btnpnl.setLayout(new GridLayout(1,2));
btnpnl.add(backbtn);
btnpnl.add(nextbtn);
cp.add("South",btnpnl);
addListener();
}
ich habe folgendes Problem: Ich verwende ein Bild als Hintergrund, aber ich weiß nicht wie ich es auch Hintergrund bekomme. Also Panels und Buttons werden nicht darauf gebracht. Entweder sie sind gar nicht zu sehen oder man muss erst mit der Maus drüber fahren um sie zu sehen.
Ich habe es probiert indem ich den Hintergrund in ein Panel gebe und das darüberliegende Panel auf "durchsichtig " setze mir "setOpalse(false)"
Die andere Möglichkeit ist mit der Paint-methode.
Funktioniert beides nicht so richtig =(
Hat jemand eine Idee?
public class QuizLayout extends JFrame {
Vector v = new Vector();
// Anlegen der GUI Elemente
Container cp = this.getContentPane();
Image img = Toolkit.getDefaultToolkit().getImage("wwm.jpg");
JLabel background = new JLabel( new ImageIcon(img), JLabel.CENTER);
JLabel headline = new JLabel("Das JavaQuiz", JLabel.CENTER);
JLabel question = new JLabel("Hier steht die Frage", JLabel.CENTER);
JPanel ctnpnl = new JPanel();
JPanel anspnl = new JPanel();
ButtonGroup bg = new ButtonGroup();
JRadioButton[] answers = new JRadioButton[4];
JPanel btnpnl = new JPanel();
JButton nextbtn = new JButton("Quiz starten");
JButton backbtn = new JButton("Letzte Frage");
Score score = new Score(this);
Events eventhandling = new Events(this, score);
JMenuBar mb = new JMenuBar();
JMenu menu = new JMenu("Anmelden");
JMenuItem mItem1 = new JMenuItem("Anmelden");
// public void paint(Graphics g) {
// Dimension scr = Toolkit.getDefaultToolkit().getScreenSize();
// Image img = Toolkit.getDefaultToolkit().getImage("wwm.jpg");
// g.drawImage(img,0,0,scr.width,scr.height,this);
// }
public QuizLayout(Vector v_) {
this.v = v_;
this.setTitle(headline.getText());
this.setSize(500,500);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocation(300,200);
this.setJMenuBar(mb);
mb.add(menu);
menu.add(mItem1);
headline.setVerticalAlignment(JLabel.CENTER);
// headline.setOpaque(false);
headline.setFont(new Font("Arial", Font.BOLD, 20));
//answerpanel
anspnl.setLayout(new GridLayout(2,2));
// anspnl.setOpaque(false);
for (int k=0;k<4;k++){
answers[k] = new JRadioButton("RadioButton");
anspnl.add(answers[k]);
bg.add(answers[k]);
}
ctnpnl.setLayout(new GridLayout(2,1));
ctnpnl.add(question);
ctnpnl.add(anspnl);
cp.add("North",background);
cp.add("North",headline);
cp.add("Center",ctnpnl);
btnpnl.setLayout(new GridLayout(1,2));
btnpnl.add(backbtn);
btnpnl.add(nextbtn);
cp.add("South",btnpnl);
addListener();
}