首页 > 解决方案 > 第三面板没有出现

问题描述

我遇到了第三个面板没有完全显示的问题。当我的鼠标悬停在一个按钮上时,该按钮会不断闪烁,并且同样会转到文本字段。但是,在面板 3(有问题的面板)之前的面板 1 和面板 2 工作正常。

public static void main (String[]args) throws MalformedURLException {

URL url = new URL("file:///C:/Users/user/Downloads/b3b1acfe66b18d45dcf39d2ca26030c0%20(1).gif");
Icon icon = new ImageIcon(url);

URL urlPodium = new URL("https://www.isora.org/images/Images/PagestaticImages/PodiumX500.jpg");
Icon iconPodium = new ImageIcon(urlPodium);

JLabel Runner = new JLabel(icon);
Runner.setBounds(0, 0, 960, 960);
JFrame frame = new JFrame("Marathon");
frame.setSize(960,960);


JPanel Panel = new JPanel();
JLabel Name = new JLabel("Enter Runner Name:");
JLabel Time = new JLabel ("Enter Runner Time: ");
JTextField runnerName = new JTextField();
runnerName.setPreferredSize(new Dimension(90,24));
Format timeFormat = new SimpleDateFormat("mm:ss");
JFormattedTextField runnerTime = new JFormattedTextField (timeFormat);
runnerTime.setPreferredSize(new Dimension(90,24));
JLabel formatEnter = new JLabel("            (Format:mm:ss)            ");
JButton Submit = new JButton("Submit");

Panel.setBounds(0, 0, 160, 180);
JLayeredPane root = frame.getLayeredPane();
root.add(Runner, 1);
root.add(Panel, 0);
Panel.setAlignmentX(Component.TOP_ALIGNMENT);

Panel.add(Name);
Panel.add(runnerName);
Panel.add(Time);
Panel.add(runnerTime);
Panel.add(formatEnter);
Panel.add(Submit);
frame.setVisible(true);


      JPanel Panel2 = new JPanel();
      JLabel Name2 = new JLabel("Enter Runner 2 Name:");
      JLabel Time2 = new JLabel ("Enter Runner 2 Time: ");
      JTextField runnerName2 = new JTextField();
      runnerName2.setPreferredSize(new Dimension(90,24));
      Format timeFormat2 = new SimpleDateFormat("mm:ss");
      JFormattedTextField runnerTime2 = new JFormattedTextField (timeFormat2);
      runnerTime2.setPreferredSize(new Dimension(90,24));
      JLabel formatEnter2 = new JLabel("            (Format:mm:ss)            ");
      JButton Submit2 = new JButton("Submit");

       Panel2.setBounds(0, 180, 160, 180);
       JLayeredPane root2 = frame.getLayeredPane();
       root2.add(Runner, 1);
       root2.add(Panel2, 0);
       Panel2.setAlignmentX(Component.TOP_ALIGNMENT);

       Panel2.add(Name2);
       Panel2.add(runnerName2);
       Panel2.add(Time2);
       Panel2.add(runnerTime2);
       Panel2.add(formatEnter2);
       Panel2.add(Submit2);
       frame.setVisible(true);
       
       
               JPanel Panel3 = new JPanel();
               JLabel Name3 = new JLabel("Enter Runner 3 Name:");
               JLabel Time3 = new JLabel ("Enter Runner 3 Time: ");
               JTextField runnerName3 = new JTextField();
               runnerName3.setPreferredSize(new Dimension(90,24));
               Format timeFormat3 = new SimpleDateFormat("mm:ss");
               JFormattedTextField runnerTime3 = new JFormattedTextField (timeFormat3);
               runnerTime3.setPreferredSize(new Dimension(90,24));
               JLabel formatEnter3 = new JLabel("            (Format:mm:ss)            ");
               JButton Submit3 = new JButton("Submit");
 
               Panel3.setBounds(0, 360, 160, 180);
               JLayeredPane root3 = frame.getLayeredPane();
               root3.add(Runner, 1);
               root3.add(Panel3, 0);
               
               Panel3.setAlignmentX(Component.TOP_ALIGNMENT);
 
               Panel3.add(Name3);
               Panel3.add(runnerName3);
               Panel3.add(Time3);
               Panel3.add(runnerTime3);
               Panel3.add(formatEnter3);
               Panel3.add(Submit3);
               frame.setVisible(true);
               Submit3.addActionListener(new ActionListener() {
               
    public void actionPerformed(ActionEvent e) {
        
      System.out.println("Runner 1 Name " + runnerName.getText());
      System.out.println("Runner 1 Time " + runnerTime.getText());
      System.out.println("Runner 2 Name " + runnerName2.getText());
      System.out.println("Runner 2 Time " + runnerTime2.getText());
      System.out.println("Runner 3 Name " + runnerName3.getText());
      System.out.println("Runner 3 Time " + runnerTime3.getText());
      
      
    }
  });}


     
}

我的代码粘贴在上面。如果有人可以请看一下并帮助我,那就太好了。干杯!

标签: javapanel

解决方案


推荐阅读