Java swing jpanel 尺寸

标签 java swing

enter image description here

    JLabel titleLabel = new JLabel(title, SwingConstants.CENTER);
    titleLabel.setForeground(Color.DARK_GRAY);
    titleLabel.setFont(new Font("Comic Sans MS", Font.PLAIN, 15));
    add(titleLabel, BorderLayout.PAGE_START);
    JLabel descLabel = new JLabel("<html>description");
    descLabel.setForeground(Color.GRAY);
    descLabel.setFont(new Font("Comic Sans MS", Font.PLAIN, 13));
    add(descLabel, BorderLayout.PAGE_START);
    JLabel picLabel = new JLabel(new ImageIcon(Home.class.getResource("/icon/img.jpg")));
    picLabel.setIconTextGap(-310);
    picLabel.setOpaque(true);
    picLabel.setLayout(null);
    add(picLabel);
    JPanel buttonPanel = new JPanel();
    buttonPanel.setBorder(new LineBorder(Color.BLACK, 1, true));
    JButton btnDetails = new JButton("Dettagli");
    JButton btnDetails2 = new JButton("Modifica");
    buttonPanel.add(btnDetails);
    buttonPanel.add(btnDetails2);
    add(buttonPanel);

我想更改面板的尺寸(参见图片)并将其与图像对齐。

有什么建议吗?

最佳答案

更改主面板的布局以使用BorderLayout

然后将 picLabel 添加为 add(picLabel, BorderLayout.CENTER) 并将您的 ButtonPanel 添加为 add(buttonPanel, BorderLayout.SOUTH)你应该得到更好的布局。

打包对话框/框架也会有所帮助。

不能将两个标签添加到 BorderLayout 中的同一位置。您的标签 descLabel替换您的titleLabel

您可以像按钮一样执行此操作:创建另一个面板,垂直添加两个标签,然后使用 BorderLayout.NORTH(或 PAGE_START)将其添加到主面板

关于Java swing jpanel 尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34594306/

相关文章:

java - 在 JTable 列标题的左侧显示附加图标 (Nimbus)

java - 将数组或序列传递给 idl Java Corba 中的函数

java - 将 mp3 文件输入流转换为字节输出流的性能问题

java - 下面的代码是线程安全的吗?

java - 使用带有 JList 和静态数组的 ActionListener

java - 在小程序查看器中调用时出现空白屏幕

java - 通过 SmartWatch 控制滚动

java - 如何禁用 sonarqube 6.5.0.27846 中扫描 Java 项目的字节码要求?

java - 打印整个可滚动 Swing 组件

java - 如何更新 DefaultListModel 中项目的字符串名称