我想创建一个自定义的swing组件,例如桌面小部件,它不需要JFrame(或扩展它)来打印在屏幕上。
我不想扩展JFrame,因为我的组件非常简单,JFrame实现了很多我不需要的功能。
我是谁开始的?我应该延长哪一堂课?
非常感谢
编辑---------------------------------------
谢谢你们!
我会查看您发送的参考文献。 另外,java是否可以在没有swing API的情况下在屏幕上绘图?
答案 0 :(得分:5)
如果您不想要JFrame
提供的功能,只想要浮动图形,请使用JWindow
。它没有窗户装饰。
JWindow中带有普通标签的示例:
public static void main(String args[]) {
JWindow w = new JWindow();
w.add(new JLabel("Testing a Window!!!!!"));
w.setLocation(300, 300);
w.pack();
w.setVisible(true);
}
答案 1 :(得分:1)
总而言之,您需要熟悉Java2D,正如 @trashgod 的评论所示。特别是Composting Graphics。并且要了解使用顶级容器来呈现Swing组件始终是必需的。
注意强>
如果 @trashgod 提供了答案,我很乐意将其删除并相应地投票。
答案 2 :(得分:1)
取决于您的需求。您可能只需要一个未修饰的JFrame。我并不真正理解你关于“我不需要的所有功能”的论点,因为在不同的层次上你无论如何都会得到它,无论是通过另一个组件还是通过底层操作系统。你无法摆脱这一点。
现在解决您的问题,您可以随时使用JDialog