我必须在从数据库(mysql)检索的jbutton上显示数据,但由于所涉及的字符串长度不同,表示看起来很糟糕且无序。有没有办法得到对齐。这是我在jbutton'j'上设置数据的代码是jbutton数组
j[check].setText(rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3)+" "+rs.getString(4)+" "+ws+rs.getString(5)+" "+rs.getString(6)+" "+rs.getString(7));
我为某些特定数据集提供了一些空间,但在大多数情况下它会变坏。
以下是两种长度不同的情况
CSE201 Programming Fundamentals 3 Saritha V. SJT-401 A1 59
CSE201 Programming Fundamentals 3 Yokesh Babu SJT-402 A1 58
现在在第3个字符串之后(即在“CSE201 Programming Fundamentals 3”之后),长度不同,格式变差。
答案 0 :(得分:2)
正如kleopatra评论,您需要选择desired layout。如果没有明确说明糟糕和无序的含义,请考虑以下替代方案:
FlowLayout
是JPanel
的默认值,将使用随附组件的首选大小。
GridLayout
将确保所包含的组件大小相同且足够大以容纳最大的按钮。对于JPanel
个实例的网格,显示了here的示例,每个实例包含JButton
;请注意,按钮默认居中。如您想要具有任意列数的单行,请使用new GridLayout(1, 0)
。
BoxLayout
的 LINE_AXIS
将尝试使用所包含组件的首选宽度,如here所示。
务必pack()
封闭的Window
。如果这样做没有帮助,请修改您的问题以包含展示您遇到的任何问题的sscce。