heye, ich arbeite ja gerade an diesem projekt mit componenten, ich wollte da auch eine "FClock" schreiben, wie bei jedem anderen componenten überschreibe ich das gemalte, doch leider funktioniert das ganze nicht, warum?
schaut euch mal zeile 48 an,
wenn ich da "rot" anstatt "-rot" angebe, dann funktioniert dass, aber auch nur, wenn man entweder den componenten resized oder mit der maus drüber fährt, außerdem ist anstatt eines dünnen Pfeils ein riesiges graues viereck, wie kann ich das wegbekommen?
Java:
package future;
import java.awt.*;
import java.text.*;
import java.util.*;
import javax.swing.*;
/**
* @author Kevin Riehl <br>
*
* "So that the Future will come,
* and the Programmers in future,
* will remember us,
* at the beginning of Computers,
* and JavaProgramming."
*/
@SuppressWarnings("serial")
public class FClock extends JButton
{
//Attribute
//DateFormat
DateFormat dateformat = DateFormat.getTimeInstance();
String date = "";
Date d = new Date();
int rot = 0;
@SuppressWarnings("deprecation")
@Override
protected void paintComponent(final Graphics g)
{
super.paintComponent(g);
g.setColor(getBackground());
g.fillRect(0,0,getSize().width,getSize().height);
d = new Date();
date = "" + dateformat.format(d);
g.setColor(getForeground());
g.drawString(""+date,getSize().width- getSize().width/2,getSize().height-getSize().height/2);
g.setColor(Color.white);
g.drawOval(1,1,getSize().width-2,getSize().height-2);
if(d.getSeconds()!=0)
rot = 60/d.getSeconds();
else
rot = 0;
g.translate(getSize().width/2, getSize().height/2);
((Graphics2D) g).rotate(Math.toRadians((int)(-rot)));
g.setColor(Color.black);
g.drawRect(0,0,1,1);
}
}
schaut euch mal zeile 48 an,
wenn ich da "rot" anstatt "-rot" angebe, dann funktioniert dass, aber auch nur, wenn man entweder den componenten resized oder mit der maus drüber fährt, außerdem ist anstatt eines dünnen Pfeils ein riesiges graues viereck, wie kann ich das wegbekommen?