如何在输入中添加java图标和列表文本?

如何在输入中添加java图标和列表文本?,java,swing,Java,Swing,所以我试图得到同样的结果,根据这张图片: 我正试图使底部的2看起来像上面的2。 因此,第一个问题是我没有在标题中看到java图标。 第二个问题是“Some text:”没有与输入框对齐 这是我的密码: public static void main(String[] args) { String input = JOptionPane.showInputDialog(null, "Some Text:", "Dialog", JOptionPane.P

所以我试图得到同样的结果,根据这张图片:

我正试图使底部的2看起来像上面的2。
因此,第一个问题是我没有在标题中看到java图标。
第二个问题是“Some text:”没有与输入框对齐

这是我的密码:

    public static void main(String[] args) {

    String input = JOptionPane.showInputDialog(null, "Some Text:", "Dialog",
            JOptionPane.PLAIN_MESSAGE);
    if(input != null)
        JOptionPane.showMessageDialog(null, "Value entered: " + input, "Message box", JOptionPane.INFORMATION_MESSAGE);
    else
        System.exit(0);
}

我们可以将Swing组件添加到
JOptionPane
。那么,为什么不创建一个包含
JLabel
jtextfield
布局的自定义面板,即
FlowLayout
,并使用

   JOptionPane.showConfirmDialog
   (
        frame, // main window frame
        customPanel, // custom panel containing the label and textFeild
        "My Panel with Text Feild", // Title
        JOptionPane.OK_CANCEL_OPTION, // with OK and CANCEL button
        JOptionPane.PLAIN_MESSAGE 

   ); 
最简单的工作示例:

import java.awt.event.*;
import javax.swing.*;

class CustomPanel extends JPanel
{
    JLabel lab;
    JTextField txtField;

    public CustomPanel() {

        lab = new JLabel("Some Text: ");
        txtField = new JTextField(20);

        add(lab);
        add(txtField);

    }

    public String getText()
    {
       return txtField.getText();
    }

}

public class JOptionPaneDemo {


    public static void main(String[] args) {

        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                CustomPanel inputPane = new CustomPanel();
               int value = JOptionPane.showConfirmDialog(null, inputPane, "Demo" ,JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
               if(value == JOptionPane.OK_OPTION)
               {
                   JOptionPane.showMessageDialog(null, "Value Entered: "+inputPane.getText(), "Demo", JOptionPane.INFORMATION_MESSAGE);
               }

            }
        });
    }
}

教程资源:

第一张图片来自哪里?看起来它是手动创建的,而不仅仅是
JOptionPane.showInputDialog()
选项。这是我得到的任务。功能不是问题,但布局确实让我感到困扰。我没有时间给出一个实际的答案,但是考虑创建自己的JFrames/布局。如果我有时间的话,我会举一个其他人都没有的例子。非常感谢,我已经尝试了一些框架和面板,但我就是不能让它看起来像那样。我会继续尝试,尽管我还没能让它看起来像那样/我已经试了一整天了,但它似乎不能容纳我的框架对象。我就是不能让它工作。也许我做错了什么,我对编程相当陌生,框架实际上是你正在工作的JFrame。如果不需要,请先尝试使用
null
设置。它仍然不会使用JFrame,如果我将其设置为null,左上方的Java图标将不会显示。我尝试了一些不同的东西,但我仍然不能让它看起来像头像。令人沮丧的。。布拉:)Thx在我的主要问题上帮了我很多忙!:)再次祝贺你。很高兴听到这个消息。