gpt4 book ai didi

java - 添加包含 JButton 的 Jpanel 会扰乱框架的结构

转载 作者:行者123 更新时间:2023-11-30 03:55:58 24 4
gpt4 key购买 nike

class Frame extends JFrame{

public Frame()
{
JFrame jf= new JFrame("Student Admission");
jf.setLayout(new GridLayout(5,1));
JPanel jpn= new JPanel();


JPanel enr= new JPanel();
enr.setLayout(new FlowLayout(FlowLayout.LEFT));
JLabel enrno= new JLabel("Enrollment Number",JLabel.LEFT);
JTextField enrnoinput=new JTextField(3);
enr.add(enrno);
enr.add(enrnoinput);
jf.add(enr);


JLabel name= new JLabel("Student's Name",JLabel.LEFT);
JTextField nameinput=new JTextField(60);
jpn.add(name);
jpn.add(nameinput);
jf.add(jpn);

JPanel jpfn= new JPanel();
JLabel fname= new JLabel("Fathers's Name",JLabel.LEFT);
JTextField fnameinput=new JTextField(60);
jpfn.add(fname);
jpfn.add(fnameinput);
jf.add(jpfn);


JPanel hscp= new JPanel();
hscp.setLayout(new FlowLayout(FlowLayout.LEFT));
JLabel hscper= new JLabel("Hsc Percentage",JLabel.LEFT);
JTextField hscperinput=new JTextField(3);
hscp.add(hscper);
hscp.add(hscperinput);
jf.add(hscp);


JPanel sscp= new JPanel();
sscp.setLayout(new FlowLayout(FlowLayout.LEFT));
JLabel sscper= new JLabel("Ssc Percentage",JLabel.LEFT);
JTextField sscperinput=new JTextField(3);
sscp.add(sscper);
sscp.add(sscperinput);
jf.add(sscp);

//After Adding this panel the frame's structure get disturbed
JPanel buttonPanel= new JPanel();
JButton save= new JButton("Save");
JButton cancel= new JButton("Cancel");
buttonPanel.add(save);
buttonPanel.add(cancel);
jf.add(buttonPanel);


jf.setResizable(false);
jf.pack();
jf.setVisible(true);
jf.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}

添加 buttonPanel 之前 enter image description here

添加buttonPanel enter image description here

我想在框架的中底部添加按钮面板,我该怎么做?

最佳答案

您的网格布局仅占 5 个组件,因此当您使用 6 个组件时,一切都会搞砸。将 buttonPanel 添加到 sscp 面板,然后添加 sscp 面板到整个框架。

JPanel sscp= new JPanel();
sscp.setLayout(new FlowLayout(FlowLayout.LEFT));
JLabel sscper= new JLabel("Ssc Percentage",JLabel.LEFT);
JTextField sscperinput=new JTextField(3);
sscp.add(sscper);
sscp.add(sscperinput);

JPanel buttonPanel= new JPanel();
JButton save= new JButton("Save");
JButton cancel= new JButton("Cancel");
buttonPanel.add(save);
buttonPanel.add(cancel);
//change here
sscp.add(buttonPanel);
jf.add(sscp);

GUI

关于java - 添加包含 JButton 的 Jpanel 会扰乱框架的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23179563/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com