Java GUI布局 [英] Java GUI Layouts

查看:175
本文介绍了Java GUI布局的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有人可以告诉我我需要使用哪种Java布局来实现以下布局:

Could somebody tell me which java layout I need to use to achieve the layout below:

我目前正在使用FlowLayout,但是我无法使输入字段在输出窗口旁边对齐:

I am currently playing out with the FlowLayout however I can’t get the entry fields to line up beside the output window:

很抱歉,这是一个简单的问题,这是我第一次使用java.这是我的框架代码:

Apologies if this is a simple question this is my first time using java. Here is my frame code:

    private void makeFrame()
     {
       setLayout(new FlowLayout(0));

    JPanel panel1 = new JPanel();
    JPanel panel2 = new JPanel();
    JPanel panel3 = new JPanel();
    JPanel panel4 = new JPanel();
    JPanel panel5 = new JPanel();
    JPanel panel6 = new JPanel();
    JPanel panel7 = new JPanel();

    panel1.setLayout(new FlowLayout(0));
    panel2.setLayout(new FlowLayout(0));
    panel3.setLayout(new FlowLayout(0));
    panel4.setLayout(new FlowLayout(0));
    panel5.setLayout(new FlowLayout(0));
    panel6.setLayout(new FlowLayout(0));
    panel7.setLayout(new FlowLayout(0));

    JLabel firstnameJLabel = new JLabel("First Name");
    JLabel lastnameJLabel = new JLabel("Last Name");
    JLabel streetJLabel = new JLabel("Street");
    JLabel townJLabel = new JLabel("Town");
    JLabel postcodeJLabel = new JLabel("Post Code");


    panel1.add(listAllBtn);
    panel1.add(listPersonalBtn);
    panel1.add(listBusinessBtn);
    panel1.add(addPersonalBtn);
    panel1.add(addBusinessBtn);
    panel1.add(deleteBtn);
    panel1.add(findBtn);
    panel1.add(quitBtn);


    panel2.add(firstnameJLabel);
    panel2.add(this.firstNameField);
    panel2.add(this.bookScrollPane);
    this.outputArea.setEditable(false);


    panel3.add(lastnameJLabel);
    panel3.add(this.lastNameField);

    panel4.add(streetJLabel);
    panel4.add(this.streetField);

    panel5.add(townJLabel);
    panel5.add(this.townField);

    panel6.add(postcodeJLabel);
    panel6.add(this.postcodeField);

    panel7.add(enterBtn);


    add(panel1);
    add(panel2);
    add(panel3);
    add(panel4);
    add(panel5);
    add(panel6);
    add(panel7);

    enterBtn.addActionListener(this);
  }

推荐答案

自从我使用Swing以来已经有一段时间了,但是看起来体系结构是这样的:

Been a while since I worked with Swing, but it looks like the architecture is something like this:

  1. 您在底部的面板是BorderLayout
  2. 在其中,您总共添加了4个新面板,分别是NORTH,WEST,CENTER和EAST
  3. 在BorderLayout.NORTH中添加一个具有FlowLayout.LEFT的面板
  4. 在BorderLayout.WEST中,添加一个具有GroupLayout.YAXIS的面板.该面板包含名称等的标签和ENTER按钮
  5. 在BorderLayout.CENTER中,添加与标签相对应的文本字段
  6. 在BorderLayout.EAST中添加JSCrollpane.

这可能会给您带来一个想法,您可以在这些不同的面板上玩耍,以达到所需的目的

This might give you an idea and you can play around with these different panels to achive what you want

这篇关于Java GUI布局的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆