怎么监听JTextField单行文本的变化呢?也就是怎么通过“保存”按钮获取新输入在文本区的字符串呢?在线等待!!JFrame ap = new JFrame("");
ap.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
ap.setSize(350, 70);
Container c = ap.getContentPane();
c.setLayout(new BoxLayout(c, BoxLayout.X_AXIS));
JPanel[] pp = new JPanel[2];
JTextField[] t=new JTextField[2];
pp[0]=new JPanel();
t[0]=new JTextField("输入文件名",6);
t[1]=new JTextField("",15);
t[0].setEditable(false);
pp[0].add(t[0]);
pp[0].add(t[1]);
c.add(pp[0]);
JButton pb= new JButton("保存");
//pb.addActionListener(new pb_ActionListener());
pp[1]=new JPanel();
pp[1].add(pb);
c.add(pp[1]);
ap.setVisible(true);
ap.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
ap.setSize(350, 70);
Container c = ap.getContentPane();
c.setLayout(new BoxLayout(c, BoxLayout.X_AXIS));
JPanel[] pp = new JPanel[2];
JTextField[] t=new JTextField[2];
pp[0]=new JPanel();
t[0]=new JTextField("输入文件名",6);
t[1]=new JTextField("",15);
t[0].setEditable(false);
pp[0].add(t[0]);
pp[0].add(t[1]);
c.add(pp[0]);
JButton pb= new JButton("保存");
//pb.addActionListener(new pb_ActionListener());
pp[1]=new JPanel();
pp[1].add(pb);
c.add(pp[1]);
ap.setVisible(true);
@Override
public void mouseClicked(MouseEvent e) {
String s1 = t[0].getText(); //将t[0]的内容给s1
String s2 = t[1].getText(); //将t[1]的内容给s2
}
});
jtf是一个JTextField
jtf.getDocument().addDocumentListener(new DocumentListener(){ public void changedUpdate(DocumentEvent e) {
//文本改变时响应
} public void insertUpdate(DocumentEvent e) {
//差入时响应
} public void removeUpdate(DocumentEvent e) {
//删除时响应
}
});
}
当你点击了保存后,使用 t[1].getText() 可以获取到 t[1] 中的字符串。你可以写成
System.out.println(t[1].getText()); 输出就知道是否得到该字符串了
提示信息应该用 JLabel 写会比较好吧
changedUpdate
void changedUpdate(DocumentEvent e)给出属性或属性集发生了更改的通知。 参数:
e - 文档事件还是不会诶,还有4楼说的,我开始就那样子做的,但是get到的一直都是初始化的值
其实很简单的,没那么复杂。给你参考:import javax.swing.*;
import java.awt.*;
import java.awt.event.*;public class MyFrame extends JFrame implements ActionListener {
private JTextField input;
private JButton btn;
private JLabel output;
public MyFrame() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(350, 100);
Container c = getContentPane();
c.setLayout(new FlowLayout());
c.add(new JLabel("输入文件名"));
input = new JTextField(15);
c.add(input);
btn = new JButton("保存");
btn.addActionListener(this);
c.add(btn);
output = new JLabel();
c.add(output);
setVisible(true);
} public void actionPerformed(ActionEvent e) {
output.setText("输入的文件名为:"+input.getText());
} public static void main(String[] args) {
new MyFrame();
}}