Creo una JLabel e la carico sopra un JFrame, setto le coordinate di comparsa del JLabel in un determinato punto, ma invece me lo visualizza in un'altro punto! Qualsiasi coordinate gli setti alla JLabel questa rimane fissa nello stesso punto!
Vi posto un po di codice:
- Codice: Seleziona tutto
----------------------------------
//Sono nel costruttore della classe: qua inizializzo tutte le variabili
//Assegno un nuovo riferimento alla mia JLabel
labelPunti = new JLabel();
//Setto il mio Font:
labelPunti.setFont(new Font(labelPunti.getFont().getName(),Font.BOLD,20));
labelPunti.setBackground(Color.red); //Imposto colore di sfondo della JLabel
//POSIZIONO LA LABEL IN QUESTE COORDINATE (ma anche cambiandole non
//risolvo niente!!!!)
labelPunti.setBounds(400, 400, 100, 200);
//Aggiungo la JLabel sopra il mio frame
frame.add(labelPunti, JLayeredPane.PALETTE_LAYER);
-----------------------------------
//In questo metodo ad ogni iterazione del ciclo while disegno nuovamente la
//JLabel e altri elementi nel JFrame:
while(gameRunning)
{
Graphics2D g = (Graphics2D) strategy.getDrawGraphics();
// clear the screen
g.setColor(Color.black);
g.fillRect(0,0,1024,768); //A tutto schermo
// render our game objects
g.translate(0, 30); //Sposto l'oggetto grafico principale che dovrò disegnare
g.setColor(Color.red);
//Aggiorno il valore del punteggio nella JLabel, settando il nuovo testo
labelPunti.setText("PUNTI" + punteggio);
labelPunti.paint(g);
.........//Eseguo qua le altre funzioni del ciclo
}
Come mai mi visualizza la JLabel a coordinate (più o meno) 0, 100????