2011-03-23 3 views
0

메시지 보내기 Riaan,GUI가 제대로 작동하는 문제

나는 동일한 결과를 얻는다. 여기

내가 배열 목록에 추가 맨입니다 : 나는 ActionListener를 변경할 경우 지금 여기

import java.awt.*; 
import javax.swing.*; 
import java.awt.event.*; 
import java.util.*; 
import java.io.*; 
import java.util.List; 

public class FVolume extends JFrame implements ActionListener{ 
    private JTabbedPane jtabbedPane; 
    private JPanel Customers; 
    private List<Customer> customers = new ArrayList<Customer>(); 
    JTextArea NameTextCustomers, ExistTextCustomers, NameTextContractors, ExistTextContractors; 

AddCustomers.addActionListener(new ActionListener() 
    { 
     public void actionPerformed(ActionEvent e) 
     { 
     Customers.add(new Customer("Customer")); 
    } 
     }); 

답변

0

가장 간단한 방법은 아마 목록 필드를 추가하는 것입니다 :

public class FVolume extends JFrame implements ActionListener{ 
private JTabbedPane jtabbedPane; 
private JPanel Customers; 
private List<Customer> customers = new ArrayList<Customer>(); 
... 

다음으로 actionListener를 변경하십시오.

AddCustomers.addActionListener(new ActionListener() 
    { 
    public void actionPerformed(ActionEvent e) 
    { 
    customers.add(new Customer("Customer")); 
} 
    }); 

이제이 목록을 사용하여 새로 고침 버튼을 누르면 텍스트 영역을 지우고이 목록에서 고객을 표시 할 수 있습니다.

더 나은 방법은 고객 팝업에 JDialog를 사용하고 (고객 생성자에서 팝업되지 않도록) 대화 상자에 리스너를 등록하여 새 고객이 저장되었을 때 기본 앱에 알림을 보내는 것입니다. . 그런 다음 텍스트 영역에 새 고객을 추가하십시오 (새로 고침 버튼이 필요하지 않음). 이것은 좀 더 복잡하지만 저장시 고객 대화 상자에서 PropertyChangeEvent를 발생시켜야하기 때문에 (다른 변경 사항 중에서도 필요합니다).

+0

도움을 주셔서 감사합니다. 제가 생각하기에 그것이 어디로 가고 싶은지 말한 것을 추가했으며, 똑같은 일을합니다. 나는 위의 코드를 변경하여 해당 영역을 표시했습니다. – Mike

+0

새로 고침 버튼에 코드를 추가해야 실제로 목록 내용의 텍스트 영역을 채울 수 있습니다. –

관련 문제