Java 如何在JFrame中管理JPanel的大小
我想在JFrame上布置3个面板,使第一个面板位于两个并排面板的顶部。 我不能放截图,因为我刚到这个网站 这是我的程序代码。问问我这里是否缺少什么Java 如何在JFrame中管理JPanel的大小,java,swing,layout,jframe,jpanel,Java,Swing,Layout,Jframe,Jpanel,我想在JFrame上布置3个面板,使第一个面板位于两个并排面板的顶部。 我不能放截图,因为我刚到这个网站 这是我的程序代码。问问我这里是否缺少什么 package images; import javax.swing.*; import java.awt.Event.*; import java.awt.*; public class B1 extends JFrame{ public static final long serialVersionUID = 0L; public sta
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"));
}
});
}
}
为此,您需要使用LayoutManager。例如,BoxLayout适合您的需要: 这个网站也有一个例子,应该让你开始。因为你可能是新的布局经理。您应该使用最简单的LayoutManager: FlowLayout不会解决您的问题,但会帮助您理解LayoutManager背后的概念
编辑:我以前发表过关于GridLayout的文章。但不能让一个组件生成多个单元格。所以GridLayout并不是您想要的。为此,您需要使用LayoutManager。例如,BoxLayout适合您的需要: 这个网站也有一个例子,应该让你开始。因为你可能是新的布局经理。您应该使用最简单的LayoutManager: FlowLayout不会解决您的问题,但会帮助您理解LayoutManager背后的概念
编辑:我以前发表过关于GridLayout的文章。但不能让一个组件生成多个单元格。所以GridLayout并不是您想要的。为此,您需要使用LayoutManager。例如,BoxLayout适合您的需要: 这个网站也有一个例子,应该让你开始。因为你可能是新的布局经理。您应该使用最简单的LayoutManager: FlowLayout不会解决您的问题,但会帮助您理解LayoutManager背后的概念
编辑:我以前发表过关于GridLayout的文章。但不能让一个组件生成多个单元格。所以GridLayout并不是您想要的。为此,您需要使用LayoutManager。例如,BoxLayout适合您的需要: 这个网站也有一个例子,应该让你开始。因为你可能是新的布局经理。您应该使用最简单的LayoutManager: FlowLayout不会解决您的问题,但会帮助您理解LayoutManager背后的概念
编辑:我以前发表过关于GridLayout的文章。但不能让一个组件生成多个单元格。所以GridLayout并不是你想要的。这可能会解决你的问题。但是尽量使用适当的方法 添加这一行
Frame.setLayout(new BorderLayout());
替换
Frame.add(buttons);
Frame.add(upper);
Frame.add(lower);
借
这可能会解决你的问题。但是尽量使用适当的方法 添加这一行
Frame.setLayout(new BorderLayout());
替换
Frame.add(buttons);
Frame.add(upper);
Frame.add(lower);
借
这可能会解决你的问题。但是尽量使用适当的方法 添加这一行
Frame.setLayout(new BorderLayout());
替换
Frame.add(buttons);
Frame.add(upper);
Frame.add(lower);
借
这可能会解决你的问题。但是尽量使用适当的方法 添加这一行
Frame.setLayout(new BorderLayout());
替换
Frame.add(buttons);
Frame.add(upper);
Frame.add(lower);
借
你应该尽量使你的问题的回答容易些。您应该尝试发布复制错误的最简单代码段。否则,没有人会阅读你发布的所有代码,你也不会很快得到答案。你应该尽量让问题的回答变得简单。您应该尝试发布复制错误的最简单代码段。否则,没有人会阅读你发布的所有代码,你也不会很快得到答案。你应该尽量让问题的回答变得简单。您应该尝试发布复制错误的最简单代码段。否则,没有人会阅读你发布的所有代码,你也不会很快得到答案。你应该尽量让问题的回答变得简单。您应该尝试发布复制错误的最简单代码段。否则,没有人会阅读你所发布的所有代码,你很快就会得到答案。如果这确实解决了你的问题,请考虑将这个答案标记为解决方案。如果这确实解决了你的问题,请考虑将这个答案标记为解决方案。如果这确实解决了你的问题,请考虑将答案标注为解决方案。如果这确实解决了您的问题,请考虑将此答案标记为解决方案。