用IFrame跟上潮流 - 将IFrame窗口转换为炫目的应用程序窗口 - 编程入门网
public void paintComponent(Graphics g)
{
super.paintComponent(g);
// ... paint code here
setTransparent(this, g, 0, 0, w+1, 10);
PaintUtilities.paintDropShadow(g, (int)(w*.1), 0, (int)(w*.8), 27);
Color c1 = new Color(67, 118, 135);
Color c2 = new Color(105, 152, 199);
PaintUtilities.paintGradient(g, (int)(w*.1), 0, (int)(w*.9), 14, c1, c2);
PaintUtilities.paintGradient(g, (int)(w*.1), 14, (int)(w*.9), 13, c2, c1);
Graphics2D g2 = (Graphics2D)g;
g2.setRenderingHint (RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
g.setColor(Color.white);
int strW = SwingUtilities.computeStringWidth(g.getFontMetrics (), getTitle());
int strH = g.getFontMetrics().getMaxAscent();
g2.drawString(getTitle(), w/2-strW/2, h-strH/2);
g2.setRenderingHint (RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_OFF); }
private void drawBorder(Graphics g, int x, int y, int w, int h)
{
g.drawLine(x, 10+y, x, h);
g.drawLine(x, 10+y, w-x, 10+y);
g.drawLine(w-x, 10+y, w-x, h);
}
}
private class AppBorder extends AbstractBorder
{
public void paintBorder(Component c, Graphics g, int x, int y, int width, int height)
{
// ... paint border
}
}
建议用法:创建一个非百分之百矩形的框架是当前 UI 开发中的一种趋势(仅 就 Windows XP 而言)。使用 IFrame 后,Java 应用程序就不会落伍了。使用透 明性并 重载 IWindowTitleBar 及其所有高级函数,就可以创建具有非常精致外 观的框架,可以作为整个公司应用程序的默认框架。先进的功能使 UI 开发人员 可以开发出这样的框架,它可以使用户自动与某家公司关联到一起(而不只限于 那种使用户自动关联到 Remond,Washington 的某家公司的框架)。 结束语 通过让 UI 开发人员可以完全控制他们的框架的功能 和和外观,IFrame 最终 弥补了 Java 开发中的缺撼。它使 UI 开发人员可以创建只改变标题栏字体的简 单 IFrame,也可以创建改变整个公司外观的复杂 IFrame。IFrame 的好处在于开 发人员容易使用。它提供了开发人员改变框架所需要的所有功能,而且还非常易 于扩展,使开发人员可以只改变需要改变的地方,而不会干扰其他默认行为。 从我们完成的这些例子中可以看到,框架可能有的外观只受我们的想象力的限 制。我相信在阅读过程中,您会在脑子里产生一些想法,希望读过本文后,可以 用 IFrame 很快地将这些想法落实到屏幕上。 我很想知道您开发出了什么样的 IFrame,所以请将您得到的任何 IFrame 的 屏幕快照发给我。真想看到其他人是如何利用 IFrame 的。 本文配套源码 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |