首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >textfield是否可以在JDialog表单中与标签重叠?

问textfield是否可以在JDialog表单中与标签重叠?
EN

Stack Overflow用户
提问于 2011-01-31 16:06:09
回答 2查看 556关注 0票数 0

我的图形用户界面有点问题...我想有一个使用“标签”的背景图像,然后有一个重叠的“文本域”…我使用"label“(在swing控件中),这样我就可以导入图像了。然后考虑重叠一个文本字段..但这不起作用,因为每次我拖动文本字段..我的布局被毁了..。你能帮助我或建议更好的解决我的问题吗?

我只想在我的图形用户界面中显示一个带有背景图像的指令。

thnx预置:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-31 17:05:07

你试过使用JLayeredPane吗?在the Swing tutorial中,它看起来与您的案例中所需的组件完全相同。

票数 0
EN

Stack Overflow用户

发布于 2011-01-31 16:50:27

您可以在JLabel上添加图像。如果您想要在映像之上添加其他组件,则必须将映像添加到JPanel。这样你就有了布局控制。此解决方案涉及多个步骤:

  1. 创建扩展JPanel并包含读取器和paintComponent的类

公共类ImageJPanel扩展了JPanel { public ImageJPanel() { try { myImage =ImageIO.read(新文件(“singer.jpg”));} catch (IOException ex) { System.out.println("No image!“+ ex.getMessage());}} @Override public void (Graphics g) { g.drawImage(myImage,0,0,null);}私有BufferedImage myImage;}将边框的布局设置为BorderLayout.

  • Add另一个边框p,将其设置为非不透明以便查看图像,使用contentpane.

  • Add

  • ,JLabels等将ImageJPanel实例设置为边框布局的中心。

下面是一个扩展JDialog的Tester类的示例构造函数:

代码语言:javascript
复制
public Tester() {
    setLayout(new BorderLayout());
    JPanel myImagePanel = new ImageJPanel();
    add(myImagePanel);
    JPanel workPanel = new JPanel();
    workPanel.setOpaque(false);
    workPanel.add(new JLabel("a label"));
    workPanel.add(new JTextField(10));
    myImagePanel.add(workPanel);
    pack();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4848756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档