2014-04-07 6 views
2

JTextField 안에 일부 텍스트를 표시하려고 시도하면 ArrayList에서 텍스트를 가져와 addText 메서드를 사용하여 텍스트를 추가해야합니다. 또한 단추를 사용하여 ArrayList의 문자열을 순환 할 수 있기를 원합니다.JTextField 텍스트 표시

Text 클래스

import java.util.ArrayList; 
public class Text { 
    private String text; 

    public Text (String text) 
    { 
     this.text=text; 
    } 

    public String getText() 
    { 
     return text; 
    } 
} 

TextDisplay

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import java.util.ArrayList; 
public class TextDisplay 
{ 
    private JFrame frame; 
    private JTextField text; 
    private JButton next; 
    private JButton back; 
    private ArrayList<Text> someText; 
    public TextDisplay() 
    { 
     makeFrame(); 
     someText= new ArrayList<Text>(); 
    } 
    public void addText(String text) 
    { 
     Text sText = new Text(text); 
     someText.add(sText); 
    } 
    private void makeFrame() 
     {frame = new JFrame("text");  
     Container contentPane = frame.getContentPane(); 


     JPanel panel = new JPanel(); 
     panel.setLayout(new GridLayout(1, 0)); 

     text = new JTextField(); 
     text.setEditable(false); 
     contentPane.add(text, BorderLayout.NORTH); 

     back = new JButton("back"); 
     panel.add(back); 
     next = new JButton("next"); 
     panel.add(next); 

     contentPane.add(panel,BorderLayout.WEST); 
     frame.pack(); 

     frame.setVisible(true); 
    } 
} 

누군가가 설명하거나이를 달성하는 방법 나에게 예를 보여줄 수 클래스?

+1

TextDisplay 클래스에서 ActionListener를 구현하고이 클래스를 뒤로 및 다음 버튼의 ActionListener로 설정합니다. – kukis

+0

** ActionListener ** ** 다음 ** 및 ** Back ** 버튼 – Alaeddine

답변

3

먼저 ActionListener을 단추에 추가 한 다음 ArrayList에서 값을 가져 오는 논리를 추가해야합니다. 예를 들어

:

int index = -1; 
next.addActionListener(new ActionListener() { 

    @Override 
    public void actionPerformed(ActionEvent e) { 
      index++; 
      text.setText(someText.get(index).getText()); 
     } 
    }); 

그런 다음 당신은 당신이 요소를 얻을 때 그 변수를 ArrayList 다음 요소를 가져온 다음 업데이트 할 변수 인덱스를 추가 할 수 있습니다.

+0

고맙습니다.하지만 처음에 텍스트를 표시하려면 어떻게해야합니까? – user3507763

+0

답변을 업데이트했습니다. – Salah

+0

어디에서 setText를 가져 왔습니까? 그것은 내가 쓸 필요가있는 방법인가? – user3507763