5
在Java 5中我的挥杆应用程序,它有一个显示像Swing布局问题到Java 8
迁移到Java 8之后,放大并只显示一个类似
的一部分我看到this,并尝试将J2D_D3D设置为环境变量,并尝试将它作为vm参数传递。但没有解决这个问题。任何想法这可能是什么?
在Java 5中我的挥杆应用程序,它有一个显示像Swing布局问题到Java 8
迁移到Java 8之后,放大并只显示一个类似
的一部分我看到this,并尝试将J2D_D3D设置为环境变量,并尝试将它作为vm参数传递。但没有解决这个问题。任何想法这可能是什么?
仅供参考,以下示例不存在有问题。它使用一个GridLayout(0, 1)
以及一致的间隙和边界。调整封闭帧以查看效果。以Box(BoxLayout.Y_AXIS)
作为替代方案进行试验。
我怀疑的原代码(误)使用的setXxxSize()
或setBounds()
一些组合,这将显示出的效果,如果所选择的查找&感觉具有由按钮的UI代理指定不同的几何形状。
import java.awt.EventQueue;
import java.awt.GridLayout;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
/** @see https://stackoverflow.com/a/31078625/230513 */
public class Buttons {
private void display() {
JFrame f = new JFrame("Buttons");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel p = new JPanel(new GridLayout(0, 1, 10, 10));
p.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
for (int i = 0; i < 3; i++) {
p.add(new JButton("Button " + (i + 1)));
}
f.add(p);
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
}
public static void main(String[] args) {
EventQueue.invokeLater(new Buttons()::display);
}
}
你能发布,说明你的问题了[MCVE(http://stackoverflow.com/help/mcve)的代码示例? –
是从6迁移到8还是从7迁移到8? – Adam
这是5比8 – RBz