gpt4 book ai didi

java - 设置 JComponent 的对齐方式

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

我希望使用 Java Swing 以顺序方式表示 GUI 中的组件。我目前正在使用 BorderLayout,中间有一个 BOX。

我希望 JFileChooser 位于垂直框架的左侧,JButtons 位于中间,JList 位于垂直框架的右侧。 Alignment

上图显示了我当前的组件对齐方式。

如果有人能告诉我如何根据我们的需要调整组件,这对我来说真的很有帮助。

根据m图,JList位于顶部,后面是b复选框,然后是JFileChooser,后面是三个按钮。

最佳答案

我的答案不是...,但对于BorderLayout应该是最好的

  • JListEAST (或WEST)区域

  • JFileChooser前往中心区域

  • JPanelJButtonsSOUTH (或NORTH)区域

也许可以使用GridBagLayout (非常复杂LayoutManager)

易于使用的是MigLayout

编辑

I am unable to add JList to EAST or WEST since the frame is not getting 
extended more than the JFileChooser.

问:您不能或者有一些要求或限制

A:我原来的想法有什么问题

enter image description here

来自代码

import java.awt.*;
import javax.swing.*;

public class BorderLayoutWithJComponents {

public BorderLayoutWithJComponents() {
String[] subItems1 = {"Red", "Blue", "Green", "Circle", "Square",
"Triangle", "Apple", "Orange", "Banana"};
JList list = new JList(subItems1);
JFileChooser myFileChooser= new JFileChooser();
JButton one = new JButton("One");
JButton two = new JButton("Two");
JButton three = new JButton("Three");
JPanel panel = new JPanel();
panel.add(one);
panel.add( two);
panel.add(three);
JFrame f = new JFrame("LayoutTest");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(list, BorderLayout.WEST);
f.add(myFileChooser, BorderLayout.CENTER);
f.add(panel, BorderLayout.SOUTH);
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
}


public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {

@Override
public void run() {
new BorderLayoutWithJComponents();
}
});
}
}

关于java - 设置 JComponent 的对齐方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10193398/

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