JAVA中GridLayout的布局问题 如图,如何弄成这样的布局,

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA中GridLayout的布局问题 如图,如何弄成这样的布局,相关的知识,希望对你有一定的参考价值。

因为GridLayout的布局是均匀的大小我要将三个panel放入这三块区域中,大小要想如图样,求高手给出布局代码 谢了
设计成如图,右边的那个样子,求高手给出界面布局代码~~~
符合要求的哥给10元移动充值卡~~~!~!!!

public class NewJFrame1 extends javax.swing.JFrame

/** Creates new form NewJFrame1 */
public NewJFrame1()
initComponents();


/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents()
java.awt.GridBagConstraints gridBagConstraints;

jScrollPane1 = new javax.swing.JScrollPane();
jTree1 = new javax.swing.JTree();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setName("Form"); // NOI18N
getContentPane().setLayout(new java.awt.GridBagLayout());

jScrollPane1.setName("jScrollPane1"); // NOI18N

jTree1.setName("jTree1"); // NOI18N
jScrollPane1.setViewportView(jTree1);

gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.weighty = 1.0;
getContentPane().add(jScrollPane1, gridBagConstraints);

jLabel1.setText(org.openide.util.NbBundle.getMessage(NewJFrame1.class, "NewJFrame1.jLabel1.text")); // NOI18N
jLabel1.setName("jLabel1"); // NOI18N
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.ipady = 15;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
getContentPane().add(jLabel1, gridBagConstraints);

jLabel2.setText(org.openide.util.NbBundle.getMessage(NewJFrame1.class, "NewJFrame1.jLabel2.text")); // NOI18N
jLabel2.setName("jLabel2"); // NOI18N
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 2;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.ipady = 15;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
getContentPane().add(jLabel2, gridBagConstraints);

pack();
// </editor-fold>

/**
* @param args the command line arguments
*/
public static void main(String args[])
java.awt.EventQueue.invokeLater(new Runnable()
public void run()
new NewJFrame1().setVisible(true);

);


// Variables declaration - do not modify
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTree jTree1;
// End of variables declaration

参考技术A GridLayout是实现不了的

1.最简单,套两层BorderLayout

2.使用GridBagLayout

3.使用自定义布局
参考技术B 那就不能用GridLayout了 参考技术C 先分上下两个panel,再在下面的panel里面再分2个panel 参考技术D 应该不行吧,GridLayout只能平均分布几个模块吧。

Java中用户界面布局

    绝对布局Absolute

  通过放大或缩小界面的时候,组件大小和位置不会发生变化

    浮动布局FlowLayout

  调整应用程序窗口的大小时,组件将立刻重新排列

技术分享

 

  边界布局Border Layout

  该位置有5个方位:东、南、西、北、中

技术分享

 

  网格布局Grid Layout

  如需要将大量组件按规律排列,那么网格布局是最合适的,比如计算器界面的制作。

技术分享

 

 技术分享

  CardLayout 
      卡片布局和其他布局不同,因为它隐藏了一些组件。卡片布局就是一组容器或者组件,它们一次仅仅显是一个,组中的每个容器称为卡片。 

 技术分享

    分组布局Group Layout

    分组布局是 Swing 中最复杂的布局管理器之一,可以用来实现绝大多数组件排布的需求。

 

以上是关于JAVA中GridLayout的布局问题 如图,如何弄成这样的布局,的主要内容,如果未能解决你的问题,请参考以下文章

java中将Label添加到GridLayout类型的JPanel里,label太靠左怎么往右调整到居中?如图

java 在有GridLayout布局管理器的情况下,怎么设置元件大小

Android六大布局详解——GridLayout(网格布局)

Java AWT 图形界面编程LayoutManager 布局管理器 ④ ( GridLayout 网格布局 | GridBagLayout 网格包布局 )

Java AWT 图形界面编程LayoutManager 布局管理器 ④ ( GridLayout 网格布局 | GridBagLayout 网格包布局 )

三十Java图形化界面设计——布局管理器之GridLayout(网格布局)