我创建了一个applet,其中我定义了一个方法,除了覆盖 paint()方法,该方法使用 Graphics.drawString()方法在画布上显示文本。我遇到的问题是我无法调用该方法。这是因为该方法将Graphics类对象作为参数,并且在调用该函数时我无法将Graphics类对象作为参数传递。 (在某种情况下调用callerMethod()。)请参阅下面的代码并提供帮助。感谢。
import java.applet.*;
import java.awt.*;
public class MyApplet extends Applet {
@Override
public void init() {}
public void callerMethod() {
/*HERE I WANT TO CALL myPrintMethod()*/
myPrintMethod(GRAPHICS OBJECT);
}
public static void myPrintMethod(Graphics g) {
g.drawString("In method myPrintMethod",20,40);
}
@Override
public void paint(Graphics g) {
g.drawString("In method paint",20,20);
}
}
答案 0 :(得分:0)
paint(.)
但应在Graphics2D
之后调用此 Graphics2D g2d = (Grapics2D) g;
。
使用提供更多高级功能的DECLARE
@table_name SYSNAME,
@sql VARCHAR(2000)
DECLARE tables CURSOR FOR
SELECT DISTINCT t.name AS table_name
FROM sys.tables AS t
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
WHERE t.name LIKE '%temp_table_%'
AND c.name = 'Manager'
OPEN tables
FETCH NEXT FROM tables INTO @table_name
WHILE (@@FETCH_STATUS = 0)
BEGIN
SET @sql = 'IF EXISTS (SELECT * FROM ' + @table_name + ' WHERE [Manager] IS NULL) RAISERROR(''' + @table_name + ''',0,1) WITH NOWAIT'
EXECUTE(@sql)
FETCH NEXT FROM tables INTO @table_name
END
CLOSE tables
DEALLOCATE tables
。
{{1}}
答案 1 :(得分:0)
应该调用 myPrintMethod(),并将Graphics对象作为实际参数传递。 paint方法的Graphics对象 g 可以在调用时传递给myPrintMethod。
public static void myPrintMethod(Graphics g){
g.drawString("myPrintMethod",20,40);
}
public void paint(Graphics g){
g.drawString("Paint method",20,20);
myPrintMethod(g);
}
这将给出输出:
Paint method
myPrintMethod