欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

java布局管理怎么有图片_java-用于背景图像和文本的布局管理器

发布时间:2024/10/8 编程问答 47 豆豆
生活随笔 收集整理的这篇文章主要介绍了 java布局管理怎么有图片_java-用于背景图像和文本的布局管理器 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

您可以通过多种方式实现这一目标.

最简单的方法就是只使用现有的…

如果您不需要在运行时缩放背景(即您可以使用不可调整大小的窗口逃脱),只需使用JLabel作为主要容器,就可以大大简化您的生活.

public class LabelBackground {

public static void main(String[] args) {

new LabelBackground();

}

public LabelBackground() {

EventQueue.invokeLater(new Runnable() {

@Override

public void run() {

try {

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

} catch (Exception ex) {

}

JFrame frame = new JFrame("Test");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.add(new LoginPane());

frame.pack();

frame.setLocationRelativeTo(null);

frame.setVisible(true);

}

});

}

public class LoginPane extends JLabel {

public LoginPane() {

try {

setIcon(new ImageIcon(ImageIO.read(getClass().getResource("/background.jpg"))));

} catch (IOException ex) {

ex.printStackTrace();

}

setLayout(new GridBagLayout());

GridBagConstraints gbc = new GridBagConstraints();

gbc.anchor = GridBagConstraints.EAST;

gbc.insets = new Insets(2, 2, 2, 2);

gbc.gridx = 0;

gbc.gridy = 0;

JLabel nameLabel = new JLabel("Name: ");

nameLabel.setForeground(Color.WHITE);

JLabel passwordLabel = new JLabel("Password: ");

passwordLabel.setForeground(Color.WHITE);

add(nameLabel, gbc);

gbc.gridy++;

add(passwordLabel, gbc);

gbc.anchor = GridBagConstraints.WEST;

gbc.gridx++;

gbc.gridy = 0;

add(new JTextField(20), gbc);

gbc.gridy++;

add(new JTextField(20), gbc);

gbc.gridy++;

gbc.insets = new Insets(10, 2, 2, 2);

gbc.anchor = GridBagConstraints.EAST;

add(new JButton("Submit"), gbc);

}

}

}

更新了左对齐示例

在构造函数的末尾,添加…

JPanel filler = new JPanel();

filler.setOpaque(false);

gbc.gridx++;

gbc.weightx = 1;

add(filler, gbc);

总结

以上是生活随笔为你收集整理的java布局管理怎么有图片_java-用于背景图像和文本的布局管理器的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。