java - 如何对齐两个不同组件的文本位置?

标签 java user-interface

我正在尝试对齐 JTextArea 和 JButton 中的文本位置,但经过我尝试的所有操作,要么没有任何反应,要么对齐仍然略有偏差。

如下所示: enter image description here (您可以通过突出显示的选项看到 JButton(中心)略低于两侧的两个 JTextArea。)

这是一些代码:

                categoryFile[i][j] = tempButton;
                categoryFile[i][j].setBackground(Color.white);
                categoryFile[i][j].setForeground(Color.black);
                categoryFile[i][j].setOpaque(true);
                categoryFile[i][j].setFocusable(false);
                categoryFile[i][j].setBorderPainted(false);;
                categoryFile[i][j].setVerticalAlignment(SwingConstants.TOP);
                categoryFile[i][j].setPreferredSize(new Dimension(500,10));
                categoryFile[i][j].addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        openPDFWithOptions(filePath,fileName);
                    }
                });

                JPanel listRow = new JPanel();
                listRow.setBackground(Color.white);
                listRow.setLayout(new BorderLayout());
                listRow.setPreferredSize(new Dimension(800, 40));

                JTextArea category = new JTextArea(fileElements[0]); 
                category.setEditable(false);
                JTextArea parent = new JTextArea(fileElements[1]);
                parent.setEditable(false);

                listRow.add(parent,BorderLayout.WEST);
                listRow.add(categoryFile[i][j],BorderLayout.CENTER);
                listRow.add(category,BorderLayout.EAST);

                categoryLists[i].add(listRow,c);

现在我正在使用categoryFile[i][j].setVerticalAlignment(SwingConstants.TOP)来更改JButton的位置,这几乎可以工作。我也尝试过更改 JTextAreas 的垂直对齐方式,但没有任何改变。

如何对齐这些组件中的文本?

最佳答案

解决此问题的最快方法可能是在第一列和第三列上添加一些填充,以将所有文本设置为相同的高度。请参阅Jpanel Padding

关于java - 如何对齐两个不同组件的文本位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41967537/

相关文章:

java - 如何仅使用 Java 7(及以下版本)将原始数据类型列表转换为 List<String>

java - WAR 文件的启动 Servlet

JavaFX 硬焦点丢失在其他窗口区域单击

java - 过滤后的 JTable 正确行号

java - Grails:如何使用 MongoDB 进行数据库迁移?

java - 如何在 JavaFX 中高频率显示图像?

html - Bootstrap 3 网格行跨度

c++ - UI 菜单开发资源

linux - GNOME 和 KDE 等 Linux 图形环境如何支持滚动?

java - Play 商店支持的设备 0