2017-03-17 10 views
-2
import java.awt.GridLayout; 
import java.awt.BorderLayout; 
import javax.swing.*; 
import java.awt.event.*; 
import javax.swing.JList; 

public class PetUI extends JFrame implements ActionListener{ 
JButton btnAdd = new JButton("Add"); 
JButton btnCancel = new JButton("Cancel"); 
JTextField txtbox1 = new JTextField(); 
JTextField txtbox2 = new JTextField(); 
public PetUI(){ 
    super("Pet Shop"); 
    JPanel panel1 = new JPanel(); 
    JPanel panel2 = new JPanel(); 

    //inputs 
    panel1.setLayout(new GridLayout(3,4)); 
    add(panel1,BorderLayout.NORTH); 
    panel1.add(new JLabel("Pet Type: ")); 
    String [] animals = {"Cat","Dog","Rabbit"}; 
    JComboBox petlist = new JComboBox(animals); 
    panel1.add(petlist); 
    panel1.add(new JLabel("Breed: ")); 
    panel1.add(txtbox1); 
    panel1.add(new JLabel("Name: ")); 
    panel1.add(txtbox2); 

    //buttons 
    add(panel2,BorderLayout.CENTER); 
    panel2.add(btnAdd); 
    btnAdd.addActionListener(this); 
    panel2.add(btnCancel);  

    setVisible(true); 
    setSize(300,300); 
    setDefaultCloseOperation(EXIT_ON_CLOSE); 
} 
public void actionPerformed(ActionEvent e){ 

} 
public static void main(String [] args){ 
    new PetUI(); 
} 
} 

어떻게 조작합니까? JList에 출력합니다. 선생님은 우리에게이 사실을 가르쳐주지 않았습니다. 그리고 온라인으로 검색하려고했지만 제대로 작동하지 않았습니다. 나는 많은 YT 학습서를 이미 밟아 왔지만 효과가 없습니다.JList (java)에 텍스트 입력 및 콤보 상자를 출력하는 방법

+1

어쩌면 [목록을 사용하는 방법 (https://docs.oracle.com/javase/tutorial/uiswing/components/list.html) – MadProgrammer

+0

로 시작하세요 참조 : http://stackoverflow.com/help/someone-answers – c0der

답변

0

안녕하세요. 여기에 뭔가 얻을 매우 기본적인 당신이 시작 :

public class PetUI extends JFrame implements ActionListener{ 

    JButton btnAdd = new JButton("Add"); 
    JButton btnCancel = new JButton("Cancel"); 
    JTextField txtbox1 = new JTextField(); 
    JTextField txtbox2 = new JTextField(); 
    JList<String> list; 
    DefaultListModel<String> listModel; 
    JComboBox<String> petList; 

    public PetUI(){ 

     super("Pet Shop"); 

     JPanel panel1 = new JPanel(); 
     JPanel panel2 = new JPanel(); 

     //inputs 
     panel1.setLayout(new GridLayout(3,4)); 
     add(panel1,BorderLayout.NORTH); 
     panel1.add(new JLabel("Pet Type: ")); 
     String [] animals = {"Cat","Dog","Rabbit"}; 
     petList = new JComboBox<>(animals); 
     panel1.add(petList); 
     panel1.add(new JLabel("Breed: ")); 
     panel1.add(txtbox1); 
     panel1.add(new JLabel("Name: ")); 
     panel1.add(txtbox2); 

     //buttons 
     add(panel2,BorderLayout.CENTER); 
     panel2.add(btnAdd); 
     btnAdd.addActionListener(this); 
     panel2.add(btnCancel); 

     //JList 
     listModel = new DefaultListModel<>(); 

     list = new JList<>(listModel); 
     list.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION); 
     list.setLayoutOrientation(JList.HORIZONTAL_WRAP); 
     list.setVisibleRowCount(-1); 

     JPanel panel3 = new JPanel(); 
     panel3.setLayout(new FlowLayout(FlowLayout.LEFT)); 
     panel3.add(list); 
     add(panel3,BorderLayout.SOUTH); 

     setVisible(true); 
     setSize(300,300); 
     setDefaultCloseOperation(EXIT_ON_CLOSE); 
    } 
    @Override 
    public void actionPerformed(ActionEvent e){ 

     StringBuilder sb = new StringBuilder((String)petList.getSelectedItem()); 
     sb.append(" ") //add space 
      .append(txtbox1.getText()) 
      .append(" ") 
      .append(txtbox2.getText()); 

     listModel.addElement(sb.toString()); 
    } 
    public static void main(String [] args){ 
     new PetUI(); 
    } 
}