如何解决一个接一个地放置 JPanel 是隐藏之前附加的 JPanel
我正在尝试使用一组选项创建一个 JPanel
,我需要一个一个地添加选项,而不是将所有字段放在一行中。所以我的问题是,在这个过程中,以前附加的面板被新面板隐藏或覆盖..
我在理论上的期望:
- 标签:输入
- 标签:输入
- 标签:文本区域(直到第 3 点完成)
- 带标题的单选按钮
- 定时器
界面代码
mainUI=new JPanel(new BorderLayout(3,3));
//***UI Header***//
JPanel uiheaderPanel=new JPanel(new GridLayout(0,1));
String msg ="<html><b><i>Reset User Password</i></b></html>";
JLabel label = new JLabel(msg,SwingConstants.CENTER);
label.setForeground(new Color(4,99,7));
uiheaderPanel.add(label);
mainUI.add(uiheaderPanel,BorderLayout.BEFORE_FIRST_LINE);
//***Field Labels***//
JPanel labels=new JPanel(new GridLayout(0,1));
JLabel chooseFileLabel=new JLabel("Choose File (XLS / XLSX) : ",SwingConstants.RIGHT);
labels.add(chooseFileLabel);
JLabel newPwdLbl=new JLabel("Enter New Password : ",SwingConstants.RIGHT);
labels.add(newPwdLbl);
JLabel updatedFileLocLabel=new JLabel("Updated Passowrd sheet Location : ",SwingConstants.LEFT);
labels.add(updatedFileLocLabel);
mainUI.add(labels,BorderLayout.WEST);
//***Fields***//
JPanel cfInputPanel=new JPanel(new GridLayout(0,1));
JPanel inputPanel=new JPanel(new GridLayout(1,1));
jtf=new JTextField();
jtf.setPreferredSize(new DimensionUIResource(110,25));
JButton jb=new JButton("Choose file");
jb.setPreferredSize(new DimensionUIResource(110,25));
newPwdInput=new JTextField();
newPwdInput.setPreferredSize(new DimensionUIResource(90,20));
jta=new JTextArea();
jta.setPreferredSize(new Dimension(100,20));
jta.setLineWrap(true);
jta.setDisabledTextColor(Color.BLACK);
inputPanel.add(jtf);
inputPanel.add(jb);
cfInputPanel.add(inputPanel);
cfInputPanel.add(newPwdInput);
cfInputPanel.add(jta);
mainUI.add(cfInputPanel,BorderLayout.CENTER);
//Radio buttons code
JPanel radioPanel=new JPanel(new GridLayout(0,1));
JLabel radioHeaderLbl=new JLabel("Select Reset Passowrd Type :",SwingConstants.LEFT);
JPanel jp=new JPanel();
jp.add(radioHeaderLbl);
radioGroup=new ButtonGroup();
JRadioButton forgotPasswordRadio=new JRadioButton("Reset Password from SNET Admin only");
JRadioButton forgotPasswordRadioBtnFull=new JRadioButton("Reset Password from SNET Admin and Home");
JRadioButton updateExistPwdBtn=new JRadioButton("Update Existing User Password");
radioPanel.add(radioHeaderLbl);
radioGroup.add(forgotPasswordRadio);
forgotPasswordRadio.setActionCommand("Reset Password from Admin");
radioGroup.add(forgotPasswordRadioBtnFull);
forgotPasswordRadioBtnFull.setActionCommand("Reset Password from Admin and Home");
radioGroup.add(updateExistPwdBtn);
updateExistPwdBtn.setActionCommand("Existing user password");
radioPanel.add(forgotPasswordRadio);
radioPanel.add(forgotPasswordRadioBtnFull);
radioPanel.add(updateExistPwdBtn);
//Adding timer code
JPanel timer=new JPanel(new GridLayout(0,1,5,5));
JPanel timerSubPanel=new JPanel(new GridLayout(1,5));
JLabel timeLbl=new JLabel("Timer : ",SwingConstants.LEFT);
JTextArea tArea=new JTextArea();
JButton stopCounterBtn=new JButton("Stop Counter");
JButton continuwWithSNETHOMEBtn=new JButton("Continuew with update");
timer.add(timeLbl);
timerSubPanel.add(tArea);
timerSubPanel.add(stopCounterBtn);
timerSubPanel.add(continuwWithSNETHOMEBtn);
timer.add(timerSubPanel);
mainUI.add(jp,BorderLayout.AFTER_LAST_LINE);
mainUI.add(radioPanel,BorderLayout.AFTER_LAST_LINE);
mainUI.add(timer,BorderLayout.AFTER_LAST_LINE); \\ this line making difference
供您参考的图片
添加定时器时
解决方法
我是直接把定时器面板加到收音机面板上的,所以直接加到收音机面板的末尾。
来自
timer.add(timerSubPanel);
致
radioPanel.add(timerSubPanel);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。