将标签添加到 JComboBox 和 JTextField



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

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);  
   }  
}  
我认为

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

    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);
}

最新更新