2014-09-03 73 views
0

根据您的指示,我决定使用GridBagLayout的,但我也面临着定位按钮的问题在面板的按钮预计将在右上,但它显示在中心,请告诉我是什么问题,我code`如何把按钮位于顶部右侧OG jpane

import java.awt.ComponentOrientation; 
import java.awt.EventQueue; 
import java.awt.GridBagConstraints; 

import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.border.EmptyBorder; 

import java.awt.GridBagLayout; 

public class Test extends JFrame { 

private JPanel contentPane; 
private JButton button2; 

public static void main(String[] args) { 
    EventQueue.invokeLater(new Runnable() { 
     public void run() { 
      try { 
       Test frame = new Test(); 
       frame.setVisible(true); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 
    }); 
} 

public Test() { 
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    setBounds(100, 100, 573, 410); 
    contentPane = new JPanel(); 
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); 
    contentPane.setLayout(new GridBagLayout()); 
    contentPane.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); 
    setContentPane(contentPane); 
    button2 = new JButton("button2"); 

    GridBagConstraints c = new GridBagConstraints(); 

    c.gridx = 0; 
    c.gridy = 0; 

    contentPane.add(button2, c); 

} 

} 

这个输出 http://postimg.org/image/bhnzskznj/

+0

NetBeans IDE有一个很好的GUI编辑器,生成类似上面的代码。 – 2014-09-03 14:14:20

回答

1

由于答案只要求一个布局 - 它的布局推荐时间!

我最喜欢的 - http://www.miglayout.com/这满足我所有的布局需要为我的最后一个Swing项目时。 wrapspan xcenter布局参数应该是完成图片所需的所有操作。

+0

谢谢你,我会尝试 – 2014-09-03 14:27:44

1

这就是为什么不建议使用绝对布局。

你最好的办法将是使用类似GridBagLayout将定位元素,然后让他们移动的屏幕大小调整和重塑。

有很多很好的文档和教程的在线,这将让你开始GridBagLayout。您也可以使用内置于某些IDE中的工具(例如NetBeans有一个很好的工具)让您以图形方式进行布局。

+0

谢谢,但我尝试了更多的时间与GridBagLayout但我失败了,我有一些困难,虽然我读了很多教程 – 2014-09-03 14:20:16

相关问题