Hallo,
ich habe mich mal wieder versucht etwas in Java einzuarbeiten. Ich versuche gerade mir ein Label und eine 2D Grafik anzeigen zu lassen. Ursprünglich war geplant, dass zwei Punkte auf einer Linie hin und her wandern, das ist auch noch das Ziel. Ich habe jetzt Spaßeshalber mal ein Label hinzugefügt und geschaut was nun passiert. Mein Problem ist, dass wenn ich diese repaint() Funktion nutze, sich meine Grafik verschiebt, das soll sie auch. Das Label ist dann allerdings nicht sichtbar.
Kann mir vllt. Jemand sagen, woran das liegt und wie das bestenfalls behoben werden kann?
Für die Spätere Implementierung brauche ich vllt gar kein Label mehr, mich interessiert das einfach nur, warum das jetzt nicht so funktioniert
LG
Hier einmal der Code:
ich habe mich mal wieder versucht etwas in Java einzuarbeiten. Ich versuche gerade mir ein Label und eine 2D Grafik anzeigen zu lassen. Ursprünglich war geplant, dass zwei Punkte auf einer Linie hin und her wandern, das ist auch noch das Ziel. Ich habe jetzt Spaßeshalber mal ein Label hinzugefügt und geschaut was nun passiert. Mein Problem ist, dass wenn ich diese repaint() Funktion nutze, sich meine Grafik verschiebt, das soll sie auch. Das Label ist dann allerdings nicht sichtbar.
Kann mir vllt. Jemand sagen, woran das liegt und wie das bestenfalls behoben werden kann?
Für die Spätere Implementierung brauche ich vllt gar kein Label mehr, mich interessiert das einfach nur, warum das jetzt nicht so funktioniert
LG
Hier einmal der Code:
Java:
import java.awt.*;
import java.util.*;
import javax.swing.*;
public class Test_Case2 extends JPanel {
static Graphics2D g3;
public void paint(Graphics g){
super.paint(g);
g.setColor(Color.black);
g.drawOval(45, 145, 40, 40);
g.fillOval(55, 155, 20, 20);
g3 = (Graphics2D) g;
g3.setColor(Color.BLUE);
g3.setStroke(new BasicStroke(wifth));
g3.drawLine(wifth, 80, 80, 90);
repaint();
}
static int wifth = 1;
public static void test(){
new java.util.Timer().schedule(new TimerTask(){
@Override
public void run() {
System.out.println("Executed..." + wifth);
wifth = wifth +10;
label.setText("Executed..." + wifth);
//g3.setStroke(new BasicStroke(wifth));
}
},1000,1000);
}
static JLabel label;
public static void main(String[] args){
Test_Case2 t = new Test_Case2();
JFrame meinFrame = new JFrame();
meinFrame.setTitle("Test");
meinFrame.setSize(500, 500);
label = new JLabel();
label.setText("fdf");
label.setBounds(10, 200, 200, 203);
meinFrame.add(label);
meinFrame.add(t);
meinFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
meinFrame.setVisible(true);
test();
}
}