当前位置: 首页 > 面试题库 >

java BoxLayout面板的对齐方式

施冠玉
2023-03-14
问题内容

我四处浏览,但找不到适合我情况的解决方案。我有一个在对话框中显示的面板:

//create dialog panel
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
panel.add(headerPanel);
panel.add(type1Panel);
panel.add(type2Panel);
panel.add(type3Panel);
panel.add(type4Panel);
panel.add(type5Panel);
panel.add(type6Panel);

int result = JOptionPane.showConfirmDialog(null, panel, "Please enter values.", JOptionPane.OK_CANCEL_OPTION);

最后两个面板(类型5和类型6)的大小相等,因此看起来不错。但是,页眉和前4个面板的大小不同,我希望它们都对齐。到目前为止,我还没有找到解决此问题的好方法。

问题是,我如何左对齐前5个面板,而不对齐最后两个?如果没有,我该如何将它们全部对齐?setalignmentx()不适用于面板。我尝试使用GridLayout,但是gui的主窗口的宽度相当大,无法很好地适应屏幕,因此BoxLayout沿Y轴。感谢您的帮助或建议。


问题答案:

这是一个示例,它将使添加到用作容器的面板的所有JPanel保持左对齐。

   JPanel a = new JPanel();
   JPanel b = new JPanel();
   JPanel c = new JPanel();

   a.setBackground( Color.RED );
   b.setBackground( Color.GREEN  );
   c.setBackground( Color.BLUE );

   a.setMaximumSize( new Dimension(  10, 10) );
   b.setMaximumSize( new Dimension(  50, 10) );

   a.setAlignmentX( Component.LEFT_ALIGNMENT );//0.0
   b.setAlignmentX( Component.LEFT_ALIGNMENT );//0.0
   c.setAlignmentX( Component.LEFT_ALIGNMENT );//0.0

   JPanel panel = new JPanel();
   panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
   panel.add(a);
   panel.add(b);
   panel.add(c);

   int result = JOptionPane.showConfirmDialog(null, panel, "Please enter values.", JOptionPane.OK_CANCEL_OPTION);


 类似资料:
  • 我有J标签窗格和几个标签。我面临的问题是我有一个面板,里面有2个按钮和一个文本区域。面板位于 JScroll 面板内。然后,我将 JScrollPane 添加到选项卡中,但按钮和文本区域彼此相邻,并在中心对齐。我想要的是JTextArea在按钮下方,而不是在按钮的右侧。我尝试过将BorderLayout用于按钮和文本区域(将按钮放在页面开始和文本区域页面结束),但它不会改变任何东西。

  • 我有一个带有包含子面板的BoxLayout管理器的JPanel。我希望这些子面板内部的组件有一个左对齐,但它们总是出现居中。看起来BoxLayout正确地对齐了直接插入的组件,但当它们在子面板中时就不能做到这一点。 我修改了http://www.java2s.com/tutorial/java/0240__swing/yaxisalignaly.htm中的示例,以便将每个按钮放置在子面板中,然后将

  • 我正在开发一个项目,该项目是使用SVG构建图表所必需的,因为素面没有我需要使用的规格。所以,我所做的基本上是使用标签 $ xmlns:xlink=“http://www.w3.org/1999/xlink” 那个代码: svg工作正常。问题是,当我将svg放入panelGroup时,我的panelGrid停止并排对齐我的内容,并将所有内容放入,就好像它是columns="1 "一样。 有人有主意吗

  • 注意: Adobe Muse 不再添加新增功能,并将于 2020 年 3 月 26 日停止支持。有关详细信息和帮助,请参阅 Adobe Muse 服务结束页面。 在 Adobe Muse 网页中对齐对象 当要让两个或更多个页面元素相互对齐或在一个内容区域内对齐时,对齐面板非常有用。  使用响应式网页设计时,可以根据网站设计所针对的设备选择对齐页面元素。 要查看对齐面板,请选择窗口 > 对齐,或者单

  • 实际上,我正在尝试获得图像中显示的输出to_be_accuited,但无法在标记中找到正确的编辑。 到目前为止,我已经尝试创建了大部分的网页,并实现了这个present_position,因此您可以看到面板标题和面板对齐方式与上一张图片中的不同。

  • justify-content (轴内)对齐方式 justify-content 属性可以改变项目在容器中的对齐方式。 1. 官方定义 justify-content 用于设置或检索弹性盒子元素在主轴(横轴)方向上的对齐方式。 2. 慕课解释 justify-content 它主要用来设置每行里面项目的排列规则,一共有 5 种设置。 3. 语法 justify-content: flex-star