将对象放在彼此的顶部GridBagLayout

时间:2015-07-27 19:28:44

标签: java

使用GridbagLayout,我试图在JFreeChart图表下定位文本区域。但是,当我尝试这样做时,两个对象并排放置。以下是我如何处理这个问题:

    //Set Gridbag constraints for chart
     GridBagLayout  gridbag3 = new GridBagLayout();

     GridBagConstraints c3 = new GridBagConstraints();      
     c3.anchor = GridBagConstraints.NORTH;

     GridBagConstraints c3a = new GridBagConstraints();
     c3a.anchor = GridBagConstraints.SOUTH;


     gridbag3.setConstraints(chartPanel3,c3);
     gridbag3.setConstraints(scrollPane,c3a);

     tab3.setLayout(gridbag3);
     tab3.add(chartPanel3);
     tab3.add(scrollPane);

对象的尺寸定义为:

    chartPanel3.setPreferredSize(new Dimension(800, 600));


    final JTextArea errorLog = new JTextArea("Error Log:");
    errorLog.setPreferredSize(new Dimension(300,100));
    JScrollPane scrollPane = new JScrollPane(errorLog);
    scrollPane.setBounds(10,60,780,500);

我看到的观点如下: enter image description here

如何将此图表放在此文本区域的顶部?

2 个答案:

答案 0 :(得分:0)

您需要设置约束:专门设置gridy,以便将滚动窗格放置在图表下方的一行中。

答案 1 :(得分:0)

您是否尝试过使用WindowBuilder for Eclipse。这类东西真的很棒。