java - 我看不到 Swing JSeparator

标签 java swing jpanel jseparator

我有这个代码:

  JPanel jpMainExample = new JPanel(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT));
  jpMainExample.add(new JLabel("JLabel"));
  jpMainExample.add(new JTextField("JTextField"));
  jpMainExample.add(new JSeparator(JSeparator.VERTICAL));
  jpMainExample.add(new JRadioButton("JRadioButton"));
  jpMainExample.add(new JSeparator(SwingConstants.VERTICAL));
  jpMainExample.add(new JComboBox<>(new String[] {"JComboBox"}));
  jpOUT.add(jpMainExample);

但是,我看不到分隔符。

enter image description here

怎么了?

最佳答案

分隔符的 preferredSize 是 (2, 0)。 FlowLayout 遵循首选大小。由于高度为0,所以没有什么可画的。

因此您需要使用不同的布局管理器来调整组件的大小以填充垂直可用空间。

查看 How to Use Separators 上的 Swing 教程部分一个工作的例子。它展示了如何使用 BoxLayout

关于java - 我看不到 Swing JSeparator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36184003/

相关文章:

java - 从哪里给我的类(class)打电话

java - 动态更新 BufferedImage 时遇到问题

java - 单击 JButton 时删除父 JPanel

java - 如何在不覆盖其包含的组件的情况下将背景图像设置为 JPanel?

java - PagerAdapter 类型的 getPageTitle(int) 方法未定义

java - 条件是什么?

Java的swing print()用法

java - 两个 JList 模型不使用所有数据

Java:错误:可能会损失精度

java - 当我必须使用 Hibernate 的回滚时