首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >布局的Gridbaglayout问题(java swing)

布局的Gridbaglayout问题(java swing)
EN

Stack Overflow用户
提问于 2018-10-06 23:08:40
回答 1查看 34关注 0票数 3

大家好,因为我是java编程的初学者,我想请教一些有经验的程序员。所以我正在尝试做一个库存系统,但是我的布局Image Link有问题。“年度平衡”面板必须在“销售记录”面板下面,然后“销售记录”面板必须水平填充上面的空间。谁知道问题出在哪里?

代码语言:javascript
复制
public MainViewForm(String text)
{



       setTitle("Computer Warehouse ni SeQuoia");  
       setLayout(new GridBagLayout());
       setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
       setSize(1200,900);        
       setResizable(true);
       setVisible(true);



       mBar = new JMenuBar();
        setJMenuBar(mBar);

       mFile = new JMenu("FILE");
    mBar.add(mFile);

    mEdit = new JMenu("EDIT");
    mBar.add(mEdit);

    mView = new JMenu("VIEW");
    mBar.add(mView);

    mSave = new JMenu("SAVE");
    mBar.add(mSave);

    tBSave = new JToggleButton("SAVE");
    mSave.add(tBSave);

    mHelp = new JMenu("HELP");
    mBar.add(mHelp);

     mOption = new JMenu("OPTION");
     mBar.add(mOption);

     mEnd = new JMenu("END");
     mBar.add(mEnd);

     tbExit = new JToggleButton("EXIT");
     mEnd.add(tbExit);


   dlyForm = new DailyForm();
   mtlyForm = new MonthlyForm();
   tForm = new TableForm();
   abForm = new AnnualBalanceForm();

   GridBagConstraints gbc_dlyForm = new GridBagConstraints();
   gbc_dlyForm.anchor=GridBagConstraints.FIRST_LINE_START;
   gbc_dlyForm.weightx=1;
   gbc_dlyForm.weighty=1;
   gbc_dlyForm.gridx=0;
   gbc_dlyForm.gridy=0;
   add(dlyForm,gbc_dlyForm );

   GridBagConstraints gbc_mtlyForm = new GridBagConstraints();
   gbc_mtlyForm.weightx=1;
   gbc_mtlyForm.weighty=1;
   gbc_mtlyForm.gridx=0;
   gbc_mtlyForm.gridy=0;
   gbc_mtlyForm.insets=new Insets(225,0,0,0);
   gbc_mtlyForm.anchor=GridBagConstraints.LINE_START;
   add(mtlyForm,gbc_mtlyForm);

   GridBagConstraints gbc_tForm = new GridBagConstraints();
   gbc_tForm.fill=GridBagConstraints.HORIZONTAL;
   gbc_tForm.weightx=0.1;
   gbc_tForm.weighty=0.1;
   gbc_tForm.anchor= GridBagConstraints.CENTER;
   add(tForm,gbc_tForm);

   GridBagConstraints gbc_abForm = new GridBagConstraints();
   gbc_abForm.anchor= GridBagConstraints.PAGE_END;
   gbc_abForm.weightx=1;
   gbc_abForm.weighty=1;

   add(abForm,gbc_abForm);

   pack();
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-06 23:17:25

您尚未为这些约束指定gridx/gridy。它们默认为RELATIVE,因此下一个零部件在水平和垂直方向上都会移动。

(关于你的代码,如果有一件事我最想改变的话,那就是命名。我不关心类型(在名称中),所以去掉它,不要缩写剩下的有用的单词。还值得注意的是,GridBagConstraints数据会被复制,因此您可以在适当的地方重用它们。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52680403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档