【发布时间】:2011-11-14 15:59:13
【问题描述】:
我在思考如何使我的应用程序正常工作时遇到了一些概念上的问题。
我有 15 个 JTextField 组件和 15 个 JButton 组件和 1 个 JTextArea。我希望每个按钮从每个相应的文本字段的文本区域内插入文本。
如果您希望查看解释此设置的图形 - [http://i.imgur.com/Vnc3C.png]here1
我已设法将 frame.finaltext 获取到 Curriculum 主题类,但在 actionPerformed 方法中看不到它。
获取 frame.finaltext.append(textfields[i]) 的最佳方法是什么
TIA 亚当
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import net.miginfocom.swing.MigLayout;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.Dimension;
public class CurriculumSubject extends JPanel implements ActionListener{
/**
* This is an class that will hold details for each subject.
*/
// First we want some variables
String subjectName;
public CurriculumSubject (final JReport frame){
MigLayout layout = new MigLayout("wrap 2");//, debug 4000");
this.setLayout(layout);
final JTextField [] textfields = new JTextField[15];
JButton [] buttons = new JButton[15];
for (int i=0;i<15;i++){
String content = "This is a test. " + i;
textfields[i] = new JTextField(content);
this.add(textfields[i], "width 500:700:1000");
buttons[i] = new JButton(">>>");
buttons[i].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
//Execute when button is pressed
String text = textfields[i].getText();
frame.finaltext.append(text);
}});
buttons[i].setPreferredSize(new Dimension(10,10));
this.add(buttons[i]);
}
}
}
【问题讨论】: