2015-04-07 5 views
0

Для того, чтобы программа работала, мне нужно иметь раскрывающееся меню (поле со списком), которое отображает все возможные единицы для преобразования в стехиометрию.Как назначить массив в Combo Boxes

Я знаю, что вы должны назначить массив в поле со списком, но я не уверен, как это сделать. Если бы кто-то мог помочь, это было бы здорово.

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

public class Conversion extends JFrame 
{ 
    private JLabel molarMass1; 
    private JLabel molarMass2; 
    private JLabel moles1; 
    private JLabel moles2; 
    private JLabel amount1; 
    private JLabel amount2; 

    private JTextField M1M2; 
    private JTextField M2M1; 
    private JTextField moles1moles2; 
    private JTextField moles2moles1; 
    private JTextField amount1amount2; 
    private JTextField amount2amount1; 
    private JComboBox UnitsOne; 
    private JComboBox UnitsTwo; 

    private static final int WIDTH = 500; 
    private static final int HEIGHT = 50; 





    Conversion() 
    {} 

    public void burst() 
    { 
     setTitle("Stoichiometry"); 
     Container z = getContentPane(); 
     z.setLayout(new GridLayout(1, 4)); 

     molarMass1 = new JLabel("Molar Mass 1: ", SwingConstants.LEFT); 
     molarMass2 = new JLabel("Molar Mass 2: ", SwingConstants.RIGHT); 
     moles1 = new JLabel("Number of Moles 1: ", SwingConstants.LEFT); 
     moles2 = new JLabel("Number of Moles 2: ", SwingConstants.RIGHT); 
     amount1 = new JLabel("Amount of substance 1: ", SwingConstants.LEFT); 
     amount2 = new JLabel("Amount of substance 2: ", SwingConstants.RIGHT); 

     M1M2 = new JTextField(7); 
     M2M1 = new JTextField(7); 
     moles1moles2 = new JTextField(6); 
     moles2moles1 = new JTextField(6); 
     amount1amount2 = new JTextField(5); 
     amount2amount1 = new JTextField(5); 
     UnitsOne = new JComboBox(10); 
     UnitsTwo = new JComboBox(10); 


     z.add(molarMass1); 
     z.add(M1M2); 
     z.add(molarMass2); 
     z.add(M2M1); 

     z.add(moles1); 
     z.add(moles1moles2); 
     z.add(moles2); 
     z.add(moles2moles1); 

     z.add(amount1); 
     z.add(amount1amount2); 
     z.add(amount2); 
     z.add(amount2amount1); 

     z.add(UnitsOne); 
     z.add(UnitsTwo); 


     setSize(WIDTH, HEIGHT); 
     setDefaultCloseOperation(EXIT_ON_CLOSE); 
     setVisible(true); 
} 
} 
+0

читать Oracle учебник Как использовать ComboBox для работы пример кода, читайте Википедию, ChemWiki для стехиометрии – mKorbel

ответ

0

Я не вижу, где массив вы хотите назначить в поле со списком в вашем коде, но есть конструктор, который делает именно то, что вам нужно: http://docs.oracle.com/javase/7/docs/api/javax/swing/JComboBox.html#JComboBox(E[])

В качестве альтернативы вы можете добавить пункты к JComboBox позже с помощью addItem() method

Также посмотрите здесь: https://docs.oracle.com/javase/tutorial/uiswing/components/combobox.html

Смежные вопросы