2

だから私は私の JTextField に関して問題を抱えています。私がやろうとしているのは、JTextField ボックスを写真 (特定の町の地図) の下に置くことです。ええ、私は .setBounds を使用しましたが、それはすでに画像の下にありましたが、.pack(); を実行すると、まだ表示されている必要があります。残念ながら、そうではありませんでした。

.setBorder(BorderFactory.createEmptyBorder(5,50,0,50)); を使用してみました。ボックスが画像の下にあることがわかりましたが、テキストを入れることはできなくなりました。

結論として、画像の下に JTextField が必要であり、パックするたびに表示される必要があります。

助けてください。ありがとうございました。私はまだ GUI について新しいことを発見している段階です。ノブの質問で申し訳ありません。

  import java.awt.BorderLayout;
  import java.awt.Color;
  import java.awt.FlowLayout;
  import java.awt.Font;

  import javax.swing.BorderFactory;
  import javax.swing.ImageIcon;
  import javax.swing.JFrame;
  import javax.swing.JLabel;
  import javax.swing.JPanel;
  import javax.swing.SwingUtilities;
  import javax.swing.JTextField;

  class ProgDraftMain {

   public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable(){
        public void run() {
            ProgDraft gui = new ProgDraft();
            gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
            gui.setResizable(false);
            gui.pack();
            //gui.setSize(1000 , 1000);
            gui.setVisible(true);           
        }
    });
}
}

class ProgDraft extends JFrame {
private ImageIcon image1;
private JLabel label1;
private JTextField textField1;

ProgDraft() {

    /***Panel**/ 
    JPanel panel = new JPanel();
    panel.setLayout(new FlowLayout(FlowLayout.LEADING));

    /***Title***/
    JLabel title = new JLabel("Perimeter Check", JLabel.CENTER);
    Font font = new Font("Gigi", Font.BOLD, 50);
    title.setFont(font);

    /***Image***/
    ImageIcon pics = new ImageIcon(getClass().getResource("antipolo.png"));

    JLabel logo = new JLabel(pics);
    logo.setBorder(BorderFactory.createEmptyBorder(10, 70, 0, 50));
    logo.setToolTipText("Ito raw kunware yung barangay.");
    panel.add(logo);

    /***Info ANtipolo***/
    String text = "Ito kunware ang ANtipolo" + "<br>" +
          "Marami ditong landslide areas" + "<br>" + "<br>" +
          "Take care and stay safe!" + "<br>" +
          "I love my dogs" + "<br>" + "<br>" +"<br>" +
          "Please help!";
    JLabel dog = new JLabel("<html><div style=\"text-align: center;\">" + text + "</html>");
    dog.setBorder(BorderFactory.createEmptyBorder(5,50,0,50));
    panel.add(dog);

    /***JTextFieldski**/
    JTextField textField = new JTextField(6);
    textField.setBorder(BorderFactory.createEmptyBorder(5,50,0,50));
    textField.setBounds(210,470,100,25);
    panel.add(textField);




    getContentPane().setLayout(new BorderLayout());

    getContentPane().add(textField, BorderLayout.SOUTH);
    getContentPane().add(dog, BorderLayout.CENTER);
    getContentPane().add(panel, BorderLayout.SOUTH);
    getContentPane().add(title, BorderLayout.NORTH);
}
}
4

1 に答える 1