사용자에게 코스 이름을 입력하도록 요청하는 JOptionPane을 채우는 actionListener가있는 'course'라는 JButton이 있습니다. 코스 추가 작업이 완료된 후 표시 할 코스 이름을 JList에 추가하려고합니다. actionListener 메서드에서 classList.add (input)을 시도했지만 작동하지 않습니다. 도움을 주시면 감사하겠습니다. 이것은 수업 용이므로 팁을 높이 평가합니다. 나는 완전한 코드를 추구하지 않습니다. 감사.
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class LabEleven extends JFrame{
public LabEleven(){
String[] list = {"Math", "\nComputer", "\nPhysics", "\nChemistry"}; // create array of String data for JList
JList<String> classList = new JList<String> (list); // create JList to pass to JPanel
JPanel p1 = new JPanel(new FlowLayout(FlowLayout.LEFT, 2, 2));
p1.add(classList);
p1.setBackground(Color.white);
JPanel p2 = new JPanel(new FlowLayout(FlowLayout.RIGHT, 2, 2));
// add "add course" button and attach action listener
JButton course = new JButton("Add Course");
course.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
String input = (JOptionPane.showInputDialog("Please enter another course"));
} // end actionPerformed
}); // end addActionListener
// add "close" button and attach action listener
JButton close = new JButton("Close");
close.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
} // end actionPerformed
}); // end addActionListener
p2.add(course);
p2.add(close);
add(p1, BorderLayout.CENTER);
add(p2, BorderLayout.SOUTH);
} // end LabEleven constructor
public static void main(String[] args) {
JFrame frame = new LabEleven();
frame.setSize(400, 420);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
} // end main method
} // end LabEleven class
예를 들어 쉽게 관리 할 수 있는 ListModel
을 다룰 때를 사용해야합니다 . 그런 다음 목록의 동적 채우기 방법을 사용할 수 있습니다 .JList
DefaultListModel
DefaultListModel.addElement
먼저 모델로 목록을 초기화해야합니다.
final DefaultListModel model = new DefaultListModel();
JList jList = new JList(model);
// you can loop to populate the model here with your default list[] data
그런 model.addElement(input)
다음 청취자를 호출 할 수 있습니다.
목록 사용 방법 에서 자세히 알아보고 모델 사용 섹션에 집중할 수 있습니다.
사용 가능한 더 많은 메서드 는 DefaultListModel 용 API도 참조하세요 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다