那我在把问题说一遍,
一个jframe里套了一个jpanel,jpanel里有jtabbedpane做的四个jpanel,
在jframe里有个保存按钮,点击保存按钮,把四个jpanel里的jtextfield里的值写到本地一个xml文件里,写xml文件的方法已经写好了,不知道这样的保存该怎么实现?
我是想在frame里定义变量,然后jtextfield值变化的时候更新变量,点击保存的时候把这些变量写进xml,不知道怎么实现?
一个jframe里套了一个jpanel,jpanel里有jtabbedpane做的四个jpanel,
在jframe里有个保存按钮,点击保存按钮,把四个jpanel里的jtextfield里的值写到本地一个xml文件里,写xml文件的方法已经写好了,不知道这样的保存该怎么实现?
我是想在frame里定义变量,然后jtextfield值变化的时候更新变量,点击保存的时候把这些变量写进xml,不知道怎么实现?
解决方案 »
- 请问一下JPanel环绕的按钮应该怎么去实现??
- 举例
- awt用户登陆界面,大家帮帮忙
- 【问题待解】JTable中如何实现多行表头
- 请问大家用什么加壳软件保护自己开发的软件,哪一款加壳工具最好?
- poi HSSFTextbox s = patriarch.createTextbox(new HSSFClientAnchor(0, 0, 0, 0, (short) 1, 1, (short) 2, 2))
- char变为String
- Java的Linux问题
- 快告诉我怎么选择所选文本好吗?
- 请问在JBuilder中怎么调整控件的位置好啊?
- WINXP下好象批处理文件的设定
- 请问怎么把命令行中输入的信息(比如格式化时的信息),输入到我自己指定的窗口中去,并且是同步的。
如果jtextfield值变化的时候保存,更新的频率太高了。
jtextfield.addInputMethodListener(myListener);
实现InputMethodListener的方法
inputMethodTextChanged()
方法中 string = jtextfield.getText();
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.event.*;public class TestGetText extends JFrame{
private JPanel contentPane = new JPanel(); private JTabbedPane mainTabPane = new JTabbedPane();
private JPanel[] tabPanes = new JPanel[4];
private JTextField[] textFields = new JTextField[4]; private JPanel btnPane = new JPanel();
private JButton saveBtn = new JButton("Save");
private JButton cancelBtn = new JButton("Cancel"); public TestGetText() {
super("Demo");
initTabPane();
initBtnPane(); contentPane.setLayout(new BorderLayout());
contentPane.add(mainTabPane,BorderLayout.CENTER);
contentPane.add(btnPane, BorderLayout.SOUTH);
this.setContentPane(contentPane);
this.setBounds(200,200,300,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.show();
} private void initTabPane() {
for (int i = 0; i < 4; i++) {
textFields[i] = new JTextField(10);
tabPanes[i] = new JPanel();
tabPanes[i].add(textFields[i]);
mainTabPane.add("" + i, tabPanes[i]);
}
} private void initBtnPane() {
saveBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
showText();
}
});
cancelBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
System.exit(0);
}
}); btnPane.add(saveBtn);
btnPane.add(cancelBtn);
} public void showText() {
StringBuffer msgBuff = new StringBuffer();
for (int i = 0; i < 4; i++) {
msgBuff.append(i);
msgBuff.append(": ");
if(textFields[i].getText() != null) {
msgBuff.append(textFields[i].getText());
} else {
msgBuff.append("null");
}
msgBuff.append("\n");
}
JOptionPane.showMessageDialog(this, msgBuff);
} public static void main(String[] args) {
new TestGetText();
}
}
文件是jframe.java,jpanelxxx.java,还有四个jpanel.java,四个jpanel.java里有jtextfield,保存写在jframe.java里,何如实现呢?
四个jpanel.java里写一个public String getText()之类的方法来收集jtextfield里的文本,然后返回这个文本。
当点jframe.java里的按钮时,调用此方法即可呀。
csdn高手如云