0

您好我正在尝试创建一个由 JComboBox 和 JTextField 组成的界面。我已经整理出向 JComboBox 添加标签的代码,但在向文本字段添加标签时遇到问题。任何帮助,将不胜感激。

    import javax.swing. *;
    import java.awt.event. *;   
    import java.awt.FlowLayout;
    import java.lang.Math; 

    public class AreaFrame3  extends JFrame
    {  

      public static void main(``String[]args)

      {

          //Create array containing shapes

         String[] shapes ={"(no shape selected)","Circle","Equilateral  Triangle","Square"};

         //Use combobox to create drop down menu

         JComboBox comboBox=new JComboBox(shapes);

         JPanel panel1 = new JPanel(new FlowLayout()); //set frame layout

         JLabel label1 = new JLabel("Select shape:");

         panel1.add(label1);

         panel1.add(comboBox); 



         JTextField text = new JTextField(10); //create text field


         JFrame frame=new JFrame("Area Calculator Window");//create a JFrame to put combobox

         frame.setLayout(new FlowLayout()); //set layout

         frame.add(panel1);

         frame.add(text);

         JButton button = new JButton("GO"); //create GO button

         frame.add(button);

         //set default close operation for JFrame

         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


         //set JFrame ssize

         frame.setSize(400,250);

         //make JFrame visible. So we can see it

         frame.setVisible(true);

      }

  }   
4

1 回答 1

2

这是一种方法。panel1只需按适当的顺序将所有小部件放在您的位置。

从长远来看,这可能不太容易维护,并且您希望拥有比 LayoutManager 更好的 LayoutManager FlowLayout,但如果您只是想学习 Swing,这可能是一个好的开始。如果你觉得 FlowLayout 不够好,可以看看 LayoutManager 教程。我个人最喜欢的是:BorderLayoutGridBagLayoutMigLayout也可能是一个不错的,但我从未使用过它,它不是 JVM 的一部分。

import java.awt.FlowLayout;

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

public class AreaFrame3 {

    protected void initUI() {
        // Create array containing shapes
        String[] shapes = { "(no shape selected)", "Circle", "Equilateral  Triangle", "Square" };
        // Use combobox to create drop down menu
        JComboBox comboBox = new JComboBox(shapes);
        JLabel label1 = new JLabel("Select shape:");
        JPanel panel1 = new JPanel(new FlowLayout()); // set frame layout
        JLabel label2 = new JLabel("Text label:");
        JTextField text = new JTextField(10); // create text field
        panel1.add(label1);
        panel1.add(comboBox);
        panel1.add(label2);
        panel1.add(text);
        JFrame frame = new JFrame("Area Calculator Window");// create a JFrame to put combobox
        frame.setLayout(new FlowLayout()); // set layout
        frame.add(panel1);
        JButton button = new JButton("GO"); // create GO button
        frame.add(button);
        // set default close operation for JFrame
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        // make JFrame visible. So we can see it
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new AreaFrame3().initUI();
            }
        });
    }
}
于 2012-12-07T13:03:34.143 回答