我正在尝试在JTextField
中显示一些文字,文字应该从我使用ArrayList
方法添加文字的addText
中获取。我还希望能够使用按钮循环浏览ArrayList
中的字符串。
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);
}
}
有人可以向我解释或向我展示如何实现这个目标吗?
答案 0 :(得分:3)
首先,您需要在按钮中添加ActionListener
,然后添加从ArrayList
获取值的逻辑。
例如:
int index = -1;
next.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
index++;
text.setText(someText.get(index).getText());
}
});
然后你可以添加一个变量索引来获取ArrayList
中的下一个元素,然后在获得元素时更新该变量。