gpt4 book ai didi

java - 图片和文字在同一个窗口

转载 作者:行者123 更新时间:2023-12-02 04:24:48 25 4
gpt4 key购买 nike

这个程序应该打开一个窗口,添加一张图片,然后在图片上方添​​加文本“hello world”。当我执行frame.add(label),然后尝试添加图片(如代码所示)时,文本就会出现,但即使我执行相反的操作并先添加图片,我也只得到一个灰色的屏幕。谁能告诉我如何同时获取图片和文本?

  public window(){
JFrame frame = new JFrame("name");
JLabel label = new JLabel ("hello world", JLabel.CENTER);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.setSize(600, 400);
frame.setVisible(true);
label.setAlignmentX(0);
label.setAlignmentY(0);
frame.add(label);
frame.add(new JLabel(new ImageIcon("file")));;
}
}

最佳答案

您应该使用overlay布局,但它适用于JPanel

因此,向您的框架添加一个JPanel,然后应用布局,最后添加组件

你的代码可能是这样的:

public window(){
JFrame frame = new JFrame("name");
JLabel label = new JLabel ("hello world", JLabel.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel() {
public boolean isOptimizedDrawingEnabled() {
return false;
}
};
LayoutManager overlay = new OverlayLayout(panel);
panel.setLayout(overlay);
frame.setResizable(false);
frame.setSize(600, 400);
frame.setVisible(true);
label.setAlignmentX(0);
label.setAlignmentY(0);
panel.add(label);
panel.add(new JLabel(new ImageIcon("file")));
frame.add(panel, BorderLayout.CENTER);
}
}

关于java - 图片和文字在同一个窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32330216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com