0

嗨,我在向组合框和文本字段添加标签时遇到问题。它编译得很好,但只显示框但没有标签。

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

public class AreaFrame2  
{  

   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(); 
      JLabel label1 = new JLabel("Select shape:");
      panel1.add(label1);
      comboBox.add(panel1);
      JButton button = new JButton("GO");
      JTextField text = new JTextField(20);

      //Create a JFrame that will be use to put JComboBox into it 
      JFrame frame=new JFrame("Area Calculator Window");  
      frame.setLayout(new FlowLayout()); //set layout
      frame.add(comboBox);//add combobox to JFrame
      text.setLocation(100,100);
      frame.add(text);
      frame.add(button);

      //set default close operation for JFrame 
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

      //set JFrame ssize 
      frame.setSize(250,250);  

      //make JFrame visible. So we can see it 
      frame.setVisible(true);  

   }  
}  
4

1 回答 1

2

我认为以下代码或多或少会产生您所期望的。

    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());
    JLabel label1 = new JLabel("Select shape:");
    panel1.add(label1);
    panel1.add(comboBox);

    JButton button = new JButton("GO");
    JTextField text = new JTextField(20);
    //Create a JFrame that will be use to put JComboBox into it
    JFrame frame=new JFrame("Area Calculator Window");
    frame.setLayout(new FlowLayout()); //set layout
    frame.add(panel1);
    frame.add(text);
    frame.add(button);
    //set default close operation for JFrame
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    //set JFrame ssize
    frame.setSize(250,250);

    //make JFrame visible. So we can see it
    frame.setVisible(true);
}
于 2012-12-06T15:41:34.363 回答