按照" Java - 完整参考Java" import java.awt.*;
import java.applet.*;
/*
< applet code="Sample" width=1000 height=500>
< /applet>
*/
public class Sample extends Applet
{
String msg;
// set the foreground and background colors.
public void init()
{
setBackground(Color.white);
setForeground(Color.red);
msg = "Inside init( ) --";
}
// Initialize the string to be displayed.
public void start()
{
msg += " Inside start( ) --";
}
// Display msg in applet window.
public void paint(Graphics g)
{
msg += " Inside paint( ).";
g.drawString(msg, 10, 30);
}
}
用于设置前景色,即显示文本的颜色。
现在考虑这个基本的applet程序,它设置前景色和背景色并输出一个字符串:
The background colour can be changed to any colour by setBackground()
setForegorund()
但是无论setForegorund()内部给出的颜色是什么,文本总是黑色!!! ,即它根本不会改变文本颜色。那么SELECT posts.post_id, post_details,
((SELECT(COUNT(id) FROM comments WHERE comments.post_id = posts.post_id)) + (SELECT(COUNT(id) FROM likes WHERE likes.post_id = posts.post_id))) AS weight
FROM posts
ORDER BY weight DESC
的功能/用途是什么,我怎样才能看到它的效果呢?
谢谢
答案 0 :(得分:2)
基本上,除非您的代码使用方法getForeground()
,否则它无效。
Swing建立在AWT之上,在调用getComponentGraphics()
时使用它 - 它在JComponent
方法中使用paint()
的受保护方法,用于绘制组件边框等。但AWT本身并没有内部使用前景色,并且默认情况下不会将它用于绘画。
如果您愿意,可以使用graphics.setColor(getForeground())
来使用它。