java - 带有组合框和文本字段的简单 Jframe 以及标签中的结果

标签 java swing jframe jtextfield jcombobox

<分区>

我是 Java 新手,所以这个问题对某些人来说可能很愚蠢。我正在将 Eclipse 与 Swing 窗口构建器一起使用,但我不知道如何让我的 Jframe 工作。

我想实现的很简单。

  1. 我想要一个带有多个选项的组合框(后面有两列,但我从一列开始),代表一个银行代码。
  2. 用于输入银行帐号的文本框。
  3. 一个按钮,需要使用框中的选定值和文本框中的帐号来调用方法 createIban(code,number)。 此方法返回一个包含完整 IBAN 的字符串。

我希望这个字符串出现在标签或其他东西中(也可能复制到剪贴板或其他东西)。

我希望有人能帮助我在这个探索中走得更远。

最佳答案

这里你有一个代码开始......但是你应该查看一些教程并谷歌一下以了解如何让它更漂亮。

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Test extends JPanel {

    private static JComboBox comboBox;
    private static JTextField textField;

    // Create a form with the fields
    public Test() {
        super(new BorderLayout());
        // Panel for the labels
        JPanel labelPanel = new JPanel(new GridLayout(2, 1)); // 2 rows 1 column
        add(labelPanel, BorderLayout.WEST);

        // Panel for the fields
        JPanel fieldPanel = new JPanel(new GridLayout(2, 1)); // 2 rows 1 column
        add(fieldPanel, BorderLayout.CENTER);

        // Combobox
        JLabel labelCombo = new JLabel("Bank Code");

        // Options in the combobox
        String[] options = { "Option1", "Option2", "Option3", "Option4", "Option15" };
        comboBox = new JComboBox(options);
        comboBox.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                // Do something when you select a value

            }
        });

        // Textfield
        JLabel labelTextField = new JLabel("Bank account number");
        textField = new JTextField();

        // Add labels
        labelPanel.add(labelCombo);
        labelPanel.add(labelTextField);

        // Add fields
        fieldPanel.add(comboBox);
        fieldPanel.add(textField);
    }

    public static void main(String[] args) {
        final Test form = new Test();

        // Button submit
        JButton submit = new JButton("Submit Form");
        submit.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                createIban((String) comboBox.getSelectedItem(), textField.getText());
            }
        });

        // Frame for our test
        JFrame f = new JFrame("Text Form Example");
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.getContentPane().add(form, BorderLayout.NORTH);

        // Panel with the button
        JPanel p = new JPanel();
        p.add(submit);
        f.getContentPane().add(p, BorderLayout.SOUTH);

        // Show the frame
        f.pack();
        f.setVisible(true);
    }

    private static void createIban(String selectedItem, String text) {
        // Do stuff with your data
        System.out.println("Im in createIban with the values: " + selectedItem + " and " + text);
    }
}

关于java - 带有组合框和文本字段的简单 Jframe 以及标签中的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17314253/

相关文章:

java - 如何在 JPanel 上按名称或 id 查找元素?

java - 如何使用继承自 JFrame 图标的图标创建自己的文件,我在 Java 中设置了它,而我自己的文件使用 FileOutputStream 和 ObjectOutputStream

java - 自定义 ImageView 不显示图像

java - 不使用 Mapper 类读取 XML

javascript - Restcall 中的 406 Not Acceptable 错误

java - 最大化窗口时多次调用 PaintComponent 方法

java - Hibernate - 从我的示例表中获取错误的实体。看起来表列是 "exchanged"

java - 单击(鼠标事件)该行时如何在 jTable 单元格中设置图像?

java - 在 JFrame 上制作透明的 JPanel

java - 更新 Java 中的 JFrame。复制对象