Java mac上gridbaglayout中JTextArea的高度
我在mac上使用GridbagLayout设置JTextArea的高度时遇到问题。在mac上,当我在PC上运行程序时,它只显示为一行,但高度是正确的。我一直在四处寻找,但我没有找到任何解决方案,你们认为问题出在哪里Java mac上gridbaglayout中JTextArea的高度,java,swing,user-interface,Java,Swing,User Interface,我在mac上使用GridbagLayout设置JTextArea的高度时遇到问题。在mac上,当我在PC上运行程序时,它只显示为一行,但高度是正确的。我一直在四处寻找,但我没有找到任何解决方案,你们认为问题出在哪里 编辑:我刚刚注意到问题可能在我的代码中的其他地方。。当我将窗口的大小调整得更大时,大小将变得正确,但是它仍然在单行和正确大小之间切换 这基本上是我的代码: JPanel jp = new JPanel(new GridBagLayout()); GridBagCons
编辑:我刚刚注意到问题可能在我的代码中的其他地方。。当我将窗口的大小调整得更大时,大小将变得正确,但是它仍然在单行和正确大小之间切换 这基本上是我的代码:
JPanel jp = new JPanel(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.anchor = GridBagConstraints.NORTHWEST;
gbc.insets = new Insets(1, 1, 1, 1);
final JTextArea tArea = new JTextArea("Text", 10, 10);
final JScrollPane tAreaPane = new JScrollPane(tArea);
tArea.setLineWrap(true);
tArea.setRows(15);
c.gridx = 0;
c.gridy = 2;
c.gridwidth = 4;
center.add(tAreaPane, c);
我试过设置:
tArea.setSize(200,400);
tArea.setPreferredSize(new Dimension(200, 400));
tArea.setBounds(5, 5, 100, 100);
在睑板和睑板上。我哪里做错了
问候,Daniel将首选尺寸设置为tAreaPane而不是tArea。您的问题是由以下代码行引起的:
而PreferredSize来自定义的
列和行
for为了更快地获得更好的帮助,发布一个。我只是注意到问题可能在我的代码中的其他地方。。当我将窗口的大小调整得更大时,大小就正确了。。然而,它仍然在单行和正确大小之间切换。我看到Mac OS X上的GridBagLayout
发生了如此突然的变化,但我从未追踪过它。我只是注意到问题可能在我的代码中的其他地方。
这就是为什么应该发布SSCCE的原因。在找到解决方案之前,您并不真正知道什么代码是相关的。您是否在EDT上构建GUI?显然,问题在于mac的外观和它使用的UI类。我也有类似的问题。当我在一个平台上解决它时,我在另一个平台上遇到了另一个问题。我最终切换回默认的look n-feel,这真的很难看,但这是在每个平台上都有相同渲染的唯一方法。