Rumah  >  Artikel  >  Java  >  Bagaimana untuk Mencipta Borang Pop Timbul dengan Pelbagai Medan dalam Java Tanpa JOptionPane.showInputDialog()?

Bagaimana untuk Mencipta Borang Pop Timbul dengan Pelbagai Medan dalam Java Tanpa JOptionPane.showInputDialog()?

Barbara Streisand
Barbara Streisandasal
2024-11-07 08:26:03584semak imbas

How to Create a Popup Form with Multiple Fields in Java Without JOptionPane.showInputDialog()?

Borang Pop Timbul Mudah dengan Pelbagai Medan

Soalan:

Adakah terdapat cara untuk mencipta borang pop timbul dengan berbilang medan tanpa menggunakan JOptionPane.showInputDialog()?

Jawapan:

Pertimbangkan Menggunakan Kaedah JOptionPane

Semasa menggunakan kaedah JOptionPane mungkin pada mulanya ditolak kerana andaian bahawa ia terhad kepada satu baris input, ia menawarkan pilihan seperti showInputDialog() dan showMessageDialog() yang boleh memuatkan borang tersuai.

Pendekatan Alternatif

Untuk penyelesaian yang sangat disesuaikan, pertimbangkan kod berikut:

package gui;

import java.awt.EventQueue;
import java.awt.GridLayout;
import javax.swing.*;

/** @see https://stackoverflow.com/a/3002830/230513 */
class JOptionPaneTest {

    private static void display() {
        String[] items = {"One", "Two", "Three", "Four", "Five"};
        JComboBox<String> combo = new JComboBox<>(items);
        JTextField field1 = new JTextField("1234.56");
        JTextField field2 = new JTextField("9876.54");
        JPanel panel = new JPanel(new GridLayout(0, 1));
        panel.add(combo);
        panel.add(new JLabel("Field 1:"));
        panel.add(field1);
        panel.add(new JLabel("Field 2:"));
        panel.add(field2);
        int result = JOptionPane.showConfirmDialog(null, panel, "Test",
            JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
        if (result == JOptionPane.OK_OPTION) {
            System.out.println(combo.getSelectedItem()
                + " " + field1.getText()
                + " " + field2.getText());
        } else {
            System.out.println("Cancelled");
        }
    }

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {

            @Override
            public void run() {
                display();
            }
        });
    }
}

Pertimbangan Tambahan:

  • Menyesuaikan borang menggunakan JOptionPane bergantung pada kesesuaian modaliti dan bukannya bilangan komponen.
  • Fokus boleh ditetapkan kepada komponen tertentu dengan merujuk Fokus Dialog.

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Borang Pop Timbul dengan Pelbagai Medan dalam Java Tanpa JOptionPane.showInputDialog()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn