2015-06-26 23 views
5
java 8 sürümüne geçtikten sonra

Salıncak düzeni sorunu 8

this

gibi bir ekran vardı java 5 Benim salıncak uygulama ve görüntüler this

gibi bunun sadece bir parçası kadar uzaklaştırdınız

this'u gördüm ve J2D_D3D'yi ortam değişkeni olarak ayarlamayı denedim ve ayrıca bir vm parametresi olarak aktarmayı denedim. Ama sorunu çözmedi. Bunun ne olabileceği ile ilgili bir fikir var mı?

+5

Sorununuzu gösteren bir [MCVE] (http://stackoverflow.com/help/mcve) kod örneğini gönderir misiniz? –

+0

Taşıma 6'dan 8'e veya 7'den 8'e mi? – Adam

+0

Bu, 5 ile 8 – RBz

cevap

3

Referans için, buradaki örnekte 'un sorunu yok. Uyumlu boşluklar ve kenarlıkla GridLayout(0, 1) kullanır. Efekti görmek için çerçeveyi yeniden boyutlandırın. Alternatif olarak Box(BoxLayout.Y_AXIS) ile deney yapın.

Ben orijinal kodu (mis) seçilen Bak & hissedin düğmeleri UI temsilci tarafından belirtilen farklı geometriye sahip gösterilir etkisini gösterecektir setXxxSize() veya setBounds() bazı kombinasyonlarını kullanır şüpheli.

image

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); 
    } 
}