Diskuze: Java Graphics g Problem!
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 7 zpráv z 7.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Je tam několik chyb:
new JavaGame().setVisible(true);
PaintComponent je přece správně, vždyť je to přetížená metoda JFrame. new JavaGame().setVisible(true) mi nepřijde jako dobrá praktika. Proč by nebyl text na pozici 20;20 vidět?
Na první pohled v tom kódu nic špatného nevidím, možná je problém v tom, že kreslí rovnou na frame místo na panel.
Správně je to paintComponents -s (http://docs.oracle.com/…/JFrame.html)
Je to lepší praktika než jak to je teď
Můžeš si to zkusit
Funkční to bude například takto:
package t01;
import java.awt.Graphics;
import javax.swing.JFrame;
public class JavaGame extends JFrame {
public JavaGame() {
setSize(500, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
setTitle("Java Game");
setLocationRelativeTo(null);
}
@Override
public void paint(Graphics g) {
g.drawString("Hello World!", 0 ,40);
}
public static void main(String[] args) {
new JavaGame().setVisible(true);
}
}
Aha, ono je to u JFramu jinak, tak to se omlouvám
Metoda paintComponents mi v tomto případě ale stejně nefunguje (možná kvůli tomu panelu, jak jsi psal), tak jsem použil metodu paint.
Dekuju za pomoc uz sem to vyresil byl problem v tom JFramu mel jsem pouzivat
JPanel
Zobrazeno 7 zpráv z 7.