melmager
Erfahrenes Mitglied
Ich schon wider 
ich versuchre grade bewegte Grafik hinzubekommen.
sieht auch toll aus
aber er zeichnet überall aber nicht dort wo er soll - wo ist mein Denkfehler ?
also ich habe ein Tabbed Pane (jTabbedPane1)
in dem sind 5 J-Panel die die Basis für jeden "Reiter" bilden (jPanelMetro und andre)
in einem J-Panel ist dann noch ein J-Panel wo ich drin malen will. (siehe Bild - jPanelMetroOut) der weisse Bereich.
Er malt aber in jedem Fenster - und da sieht das ergebniss auch so aus wie ich es eigendlich gern hätte aber genau da wo er soll kommt so gut wie nix.
da ist erstmal der Listener vom Timer der dafür sorgt das regelmässig was neues gezeichnet wird..
dat ist die Classe die zeichnet
scheinbar holt er sich das Graphicsobjekt vom Tabbet aber warum ? weil er in jedem Tabbed zeichnet

ich versuchre grade bewegte Grafik hinzubekommen.
sieht auch toll aus

also ich habe ein Tabbed Pane (jTabbedPane1)
in dem sind 5 J-Panel die die Basis für jeden "Reiter" bilden (jPanelMetro und andre)
in einem J-Panel ist dann noch ein J-Panel wo ich drin malen will. (siehe Bild - jPanelMetroOut) der weisse Bereich.
Er malt aber in jedem Fenster - und da sieht das ergebniss auch so aus wie ich es eigendlich gern hätte aber genau da wo er soll kommt so gut wie nix.
Code:
class ClockListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
// zeit abgelaufen
Metronom myjmetro = (Metronom)jPanelMetroOut;
myjmetro.tickin();
}
}
Code:
public class Metronom extends JPanel {
private int taktnr = 0, tickcnt = 0;
@Override
protected void paintComponent( Graphics g ) {
// Graphics2D g2 = (Graphics2D) g;
super.paintComponent( g );
}
void tickin() {
Graphics ti = this.getGraphics();
ti.setColor(Color.WHITE);
ti.fillRect(10 + tickcnt * 20, 20, 20, 10);
tickcnt++;
if (tickcnt > 7) {
// zeiche Takt
taktnr++;
tickcnt=0;
}
ti.setColor(Color.ORANGE);
ti.fillRect(10 + tickcnt * 20, 20, 20, 10);
if (taktnr > 3) {
// zeile löschen
taktnr = 0;
}
this.repaint();
}
Code:
jPanelMetroOut = new Metronom();
scheinbar holt er sich das Graphicsobjekt vom Tabbet aber warum ? weil er in jedem Tabbed zeichnet
Anhänge
Zuletzt bearbeitet: