-4

Java:動的要素を含む GUI パネルのサイズを変更すると、それらの要素がスクランブルされます。

このJpanelを開いてもらいました。このウィンドウのサイズを変更すると..いくつかの動的要素が 2 番目の jpanel でスクランブルされます..これはなぜですか?

これは非常に長いコードのテキストであり、何を投稿すればよいかわかりません..しかし、私はあなたにこれを伝えることができます:

  • 1: jpBarDetails という名前のこの GUI jPAnel があります。
  • 2: この JPAnel 内で動的コンポーネントを生成している public void
  • 3: 支払い方法を選択するための 2 つのドロップダウン メニューから始めます。この方法を選択すると、パネル panelPayDetails が読み込まれます。

だから..ウィンドウのサイズを変更すると..ウィンドウのサイズを5ピクセル程度だけ変更すると、動的パネルpanelPayDetails内のすべてのアイテムがスクランブルされます

public void initAfrekenenDisplay() {
          jpBarDetails.removeAll();
               rekeningContant.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent e) {
                            panelPayDetails.setBounds(245, 10, 360, 275);
                            panelPayDetails.setSize(360, 275);
                            panelPayDetails.setBackground(payDetailColor);
                            panelPayDetails.setBorder(BorderFactory.createEtchedBorder());
                            jpBarDetails.add(panelPayDetails);

                            JLabel lblLidNummerResult = new JLabel("Lidnummer:");
                            lblLidNummerResult.setBounds(10, 175, 200, 20);
                            lblLidNummerResult.setFont(Applicatie.FONT_12_BOLD);
                            panelPayDetails.add(lblLidNummerResult);

                            final JTextField jtfLidNummerResult = new JTextField();
                            jtfLidNummerResult.setBounds(180, 175, 130, 20);
                            jtfLidNummerResult.enable(false);
                            jtfLidNummerResult.setBackground(verLightGray);
                            panelPayDetails.add(jtfLidNummerResult);

                            JLabel lblLidNaamResult = new JLabel("Naam:");
                            lblLidNaamResult.setBounds(10, 197, 200, 20);
                            lblLidNaamResult.setFont(Applicatie.FONT_12_BOLD);
                            panelPayDetails.add(lblLidNaamResult);

                            final JTextField jtfLidNaamResult = new JTextField();
                            jtfLidNaamResult.setBounds(180, 197, 130, 20);
                            jtfLidNaamResult.enable(false);
                            jtfLidNaamResult.setBackground(verLightGray);
                            panelPayDetails.add(jtfLidNaamResult);

                            JLabel lblLidGeboortedatumResult = new                               JLabel("Geboortedatum:");
                            lblLidGeboortedatumResult.setBounds(10, 220, 200, 20);
                            lblLidGeboortedatumResult.setFont(Applicatie.FONT_12_BOLD);
                            panelPayDetails.add(lblLidGeboortedatumResult);
                }
            });
   }
4

1 に答える 1