2014-01-12 35 views
0

我想以我第一个面板位于两个并排面板顶部的方式排列3个面板到我的JFrame。 我不能把截图,因为我只是在这个网站的新。如何管理JFrame中的JPanel的大小

这里是我的程序代码。只是问我在这里是否缺乏某些东西。

package images; 
import javax.swing.*; 

import java.awt.Event.*; 
import java.awt.*; 

public class B1 extends JFrame{ 

public static final long serialVersionUID = 0L; 

public static void main(String[] args){ 

    new Display(); 

} 

} 

class Display extends JFrame{ 

public static final long serialVersionUID = 0L; 

private JButton Bnum1,Bnum2,Bnum3,Bnum4,Bnum5,Bnum6,Bnum7,Bnum8,Bnum9,Bnum0,clear,enter; 
private JLabel Laccount,Lpin,Lcash,Ltake; 
private JTextField Taccount, Tpin, Tcash,Ttake; 

public Display(){ 

    JFrame Frame = new JFrame(); 

    Frame.setTitle("ATM Graphic User Interface"); 
    Frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    Frame.setVisible(true); 
    Frame.setSize(600, 400); 


    JPanel buttons = new JPanel(new GridLayout(4,4)); 
    Frame.add(buttons); 
    buttons.setVisible(true); 
    buttons.setBounds(40, 100, 200, 200); 

    JPanel upper = new JPanel(new GridLayout(2,2)); 
    Frame.add(upper); 
    upper.setVisible(true); 
    upper.setBounds(40, 20, 350, 50); 
    upper.setBackground(Color.cyan); 

    JPanel lower = new JPanel(new GridLayout(2,2)); 
    Frame.add(lower); 
    lower.setVisible(true); 
    lower.setBounds(270, 100,300, 50);; 
    lower.setBackground(Color.CYAN); 


    Bnum1 = new JButton("1"); 
    Bnum2 = new JButton("2"); 
    Bnum3 = new JButton("3"); 
    Bnum4 = new JButton("4"); 
    Bnum5 = new JButton("5"); 
    Bnum6 = new JButton("6"); 
    Bnum7 = new JButton("7"); 
    Bnum8 = new JButton("8"); 
    Bnum9 = new JButton("9"); 
    Bnum0 = new JButton("0"); 
    clear = new JButton("CLEAR"); 
    enter = new JButton("ENTER"); 
    Laccount = new JLabel("Account Number : "); 
    Lpin = new JLabel("Pin Number   :"); 
    Lcash = new JLabel("Transfer Cash"); 
    Ltake = new JLabel("Take ENV"); 
    Taccount = new JTextField(15); 
    Tpin = new JTextField(15); 
    Tcash = new JTextField(5); 
    Ttake = new JTextField(5); 

    clear.setMargin(new Insets(2,2,2,2)); 
    enter.setMargin(new Insets(2,2,2,2)); 

    buttons.add(Bnum1); 
    buttons.add(Bnum2); 
    buttons.add(Bnum3); 
    buttons.add(Bnum4); 
    buttons.add(Bnum5); 
    buttons.add(Bnum6); 
    buttons.add(Bnum7); 
    buttons.add(Bnum8); 
    buttons.add(Bnum9); 
    buttons.add(Bnum0); 
    buttons.add(clear); 
    buttons.add(enter); 
    upper.add(Laccount); 
    upper.add(Taccount); 
    upper.add(Lpin); 
    upper.add(Tpin); 
    lower.add(Lcash); 
    lower.add(Tcash); 
    lower.add(Ltake); 
    lower.add(Ttake); 



    Bnum1.addMouseListener(new java.awt.event.MouseAdapter() { 
     public void mouseEntered(java.awt.event.MouseEvent evt) { 
      Bnum1.setBackground(Color.cyan); 
     } 
     public void mouseExited(java.awt.event.MouseEvent evt) { 
      Bnum1.setBackground(UIManager.getColor("control")); 
     } 
    }); 
    Bnum2.addMouseListener(new java.awt.event.MouseAdapter() { 
     public void mouseEntered(java.awt.event.MouseEvent evt) { 
      Bnum2.setBackground(Color.cyan); 
     } 
     public void mouseExited(java.awt.event.MouseEvent evt) { 
      Bnum2.setBackground(UIManager.getColor("control")); 
     } 
    }); 
    Bnum3.addMouseListener(new java.awt.event.MouseAdapter() { 
     public void mouseEntered(java.awt.event.MouseEvent evt) { 
      Bnum3.setBackground(Color.cyan); 
     } 
     public void mouseExited(java.awt.event.MouseEvent evt) { 
      Bnum3.setBackground(UIManager.getColor("control")); 
     } 
    }); 
    Bnum4.addMouseListener(new java.awt.event.MouseAdapter() { 
     public void mouseEntered(java.awt.event.MouseEvent evt) { 
      Bnum4.setBackground(Color.cyan); 
     } 
     public void mouseExited(java.awt.event.MouseEvent evt) { 
      Bnum4.setBackground(UIManager.getColor("control")); 
     } 
    }); 
    Bnum5.addMouseListener(new java.awt.event.MouseAdapter() { 
     public void mouseEntered(java.awt.event.MouseEvent evt) { 
      Bnum5.setBackground(Color.cyan); 
     } 
     public void mouseExited(java.awt.event.MouseEvent evt) { 
      Bnum5.setBackground(UIManager.getColor("control")); 
     } 
    }); 
    Bnum6.addMouseListener(new java.awt.event.MouseAdapter() { 
     public void mouseEntered(java.awt.event.MouseEvent evt) { 
      Bnum6.setBackground(Color.cyan); 
     } 
     public void mouseExited(java.awt.event.MouseEvent evt) { 
      Bnum6.setBackground(UIManager.getColor("control")); 
     } 
    }); 
    Bnum7.addMouseListener(new java.awt.event.MouseAdapter() { 
     public void mouseEntered(java.awt.event.MouseEvent evt) { 
      Bnum7.setBackground(Color.cyan); 
     } 
     public void mouseExited(java.awt.event.MouseEvent evt) { 
      Bnum7.setBackground(UIManager.getColor("control")); 
     } 
    }); 
    Bnum8.addMouseListener(new java.awt.event.MouseAdapter() { 
     public void mouseEntered(java.awt.event.MouseEvent evt) { 
      Bnum8.setBackground(Color.cyan); 
     } 
     public void mouseExited(java.awt.event.MouseEvent evt) { 
      Bnum8.setBackground(UIManager.getColor("control")); 
     } 
    }); 
    Bnum9.addMouseListener(new java.awt.event.MouseAdapter() { 
     public void mouseEntered(java.awt.event.MouseEvent evt) { 
      Bnum9.setBackground(Color.cyan); 
     } 
     public void mouseExited(java.awt.event.MouseEvent evt) { 
      Bnum9.setBackground(UIManager.getColor("control")); 
     } 
    }); 
    Bnum0.addMouseListener(new java.awt.event.MouseAdapter() { 
     public void mouseEntered(java.awt.event.MouseEvent evt) { 
      Bnum0.setBackground(Color.cyan); 
     } 
     public void mouseExited(java.awt.event.MouseEvent evt) { 
      Bnum0.setBackground(UIManager.getColor("control")); 
     } 
    }); 
    clear.addMouseListener(new java.awt.event.MouseAdapter() { 
     public void mouseEntered(java.awt.event.MouseEvent evt) { 
      clear.setBackground(Color.cyan); 
     } 
     public void mouseExited(java.awt.event.MouseEvent evt) { 
      clear.setBackground(UIManager.getColor("control")); 
     } 
    }); 
    enter.addMouseListener(new java.awt.event.MouseAdapter() { 
     public void mouseEntered(java.awt.event.MouseEvent evt) { 
      enter.setBackground(Color.cyan); 
     } 
     public void mouseExited(java.awt.event.MouseEvent evt) { 
      enter.setBackground(UIManager.getColor("control")); 
     } 
    }); 










} 


} 
+1

你应该尽量让你的问题的应答简单越好。您应该尝试发布能够重现错误的最简单的代码。否则,没有人会阅读您发布的所有代码,并且您不会很快得到答案。 –

回答

1

您需要为此使用LayoutManager。例如,BoxLayout适合您的需求: Java Documenation about BoxLayout 此网站也有一个应该让你开始的例子。由于您可能是LayoutManagers的新手。您应该玩最简单的LayoutManager:FlowLayout不会解决您的问题,但可以帮助您了解LayoutManagers背后的概念。

编辑:我之前发布了有关GridLayout。但是你不能有一个Component产生多个单元格。所以GridLayout真的不是你想要的。

+0

如果这确实解决了您的问题,请考虑将此答案标记为解决方案。 –

2

这可能会解决您的问题。但是,尝试使用适当的LayoutManager

添加此行

Frame.setLayout(new BorderLayout()); 

更换

Frame.add(buttons); 
Frame.add(upper); 
Frame.add(lower); 

通过

Frame.add(buttons,BorderLayout.NORTH); 
Frame.add(upper,BorderLayout.WEST); 
Frame.add(lower,BorderLayout.EAST);