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