如何在java中保存和加载复选框状态和文本字段值?
我一直想知道如何在Java中保存和加载jcheckbox和jtextfields值。是否可以保存和加载jcheckbox和jtextfields值? 我附上了一个小程序的图片,我想在其中保存checkbox的值并加载它们以供以后查看。我是否使用JFileChooser执行该操作如何在java中保存和加载复选框状态和文本字段值?,java,swing,jtextfield,jcheckbox,Java,Swing,Jtextfield,Jcheckbox,我一直想知道如何在Java中保存和加载jcheckbox和jtextfields值。是否可以保存和加载jcheckbox和jtextfields值? 我附上了一个小程序的图片,我想在其中保存checkbox的值并加载它们以供以后查看。我是否使用JFileChooser执行该操作 public class Try extends JFrame { private JPanel contentPane; private JCheckBox chckbx_1; private JCh
public class Try extends JFrame {
private JPanel contentPane;
private JCheckBox chckbx_1;
private JCheckBox chckbx_2;
private JTextField textField;
private JTextField textField_1;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Try frame = new Try();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Try() {
setTitle("Price tag");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
chckbx_1 = new JCheckBox("Price");
chckbx_1.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(e.getStateChange() == ItemEvent.SELECTED){
textField.setEnabled(true);
textField.setText("");
}
else if(e.getStateChange() == ItemEvent.DESELECTED){
textField.setEnabled(false);
textField.setText("");
}
}
});
chckbx_1.setBounds(72, 7, 81, 41);
contentPane.add(chckbx_1);
chckbx_2 = new JCheckBox("New Price");
chckbx_2.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
if(e.getStateChange() == ItemEvent.SELECTED){
textField.setEnabled(true);
textField.setText("");
}
else if(e.getStateChange() == ItemEvent.DESELECTED){
textField_1.setEnabled(false);
textField_1.setText("");
}
}
});
chckbx_2.setBounds(72, 51, 89, 50);
contentPane.add(chckbx_2);
textField = new JTextField();
textField.setBounds(196, 17, 86, 20);
contentPane.add(textField);
textField.setColumns(10);
textField_1 = new JTextField();
textField_1.setBounds(196, 66, 86, 20);
contentPane.add(textField_1);
textField_1.setColumns(10);
JButton btn1 = new JButton("Save");
btn1.setBounds(193, 173, 89, 23);
contentPane.add(btn1);
JButton btn2 = new JButton("Load");
btn2.setBounds(314, 173, 89, 23);
contentPane.add(btn2);
}}
您可以通过将选中的复选框索引和文本字段保存到一个文件中,例如.txt和类似的格式来实现这一点 StateCheckBox1 | 2 | StateTextField1 |示例 然后,当您阅读它时,您将获取整行并使用.split()方法,将其保存到字符串数组中 当然,更好的方法是使用数据库,但如果您只想保存几个州,则无需使用它 否则,如果您不关闭应用程序,并且希望加载应用程序组件的前一个状态,则可以创建对象。哪一个持有你的州
如果你想了解更多关于如何制作这个.txt的解释,尽管问吧。我将尝试向您解释。您可以通过将选中的复选框索引和文本字段保存到一个文件,例如.txt和类似的格式来实现这一点 StateCheckBox1 | 2 | StateTextField1 |示例 然后,当您阅读它时,您将获取整行并使用.split()方法,将其保存到字符串数组中 当然,更好的方法是使用数据库,但如果您只想保存几个州,则无需使用它 否则,如果您不关闭应用程序,并且希望加载应用程序组件的前一个状态,则可以创建对象。哪一个持有你的州
如果你想了解更多关于如何制作这个.txt的解释,尽管问吧。我将尝试向您解释。您可以通过将选中的复选框索引和文本字段保存到一个文件,例如.txt和类似的格式来实现这一点 StateCheckBox1 | 2 | StateTextField1 |示例 然后,当您阅读它时,您将获取整行并使用.split()方法,将其保存到字符串数组中 当然,更好的方法是使用数据库,但如果您只想保存几个州,则无需使用它 否则,如果您不关闭应用程序,并且希望加载应用程序组件的前一个状态,则可以创建对象。哪一个持有你的州
如果你想了解更多关于如何制作这个.txt的解释,尽管问吧。我将尝试向您解释。您可以通过将选中的复选框索引和文本字段保存到一个文件,例如.txt和类似的格式来实现这一点 StateCheckBox1 | 2 | StateTextField1 |示例 然后,当您阅读它时,您将获取整行并使用.split()方法,将其保存到字符串数组中 当然,更好的方法是使用数据库,但如果您只想保存几个州,则无需使用它 否则,如果您不关闭应用程序,并且希望加载应用程序组件的前一个状态,则可以创建对象。哪一个持有你的州
如果你想了解更多关于如何制作这个.txt的解释,尽管问吧。我将尝试向您解释。您应该使用的变量是:
private FileWriter fw;
private PrintWriter pw;
private BufferedReader br;
要保存复选框状态和文本字段值,可以使用FileWriter
和PrintWriter
保存到文件中:
btn1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String desktopPath = System.getProperty("user.home") + "/Desktop/";
try {
fw = new FileWriter(desktopPath + "yourfile.txt");
} catch (IOException ex) {
System.out.println("Error : " + ex);
}
pw = new PrintWriter(fw);
pw.println(chckbx_1.isSelected() + "-" + textField.getText() + "-" + chckbx_2.isSelected()
+ " -" + textField_1.getText());
if (pw != null) {
pw.close();
}
}
});
对于从文件中读取,您可以使用BufferedReader
和StringTokenizer
从文件中拆分读取行:
btn2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String desktopPath = System.getProperty("user.home") + "/Desktop/";
try {
String sCurrentLine;
br = new BufferedReader(new FileReader(desktopPath + "yourfile.txt"));
while ((sCurrentLine = br.readLine()) != null) {
StringTokenizer tokenizer = new StringTokenizer(sCurrentLine, "-");
if (tokenizer.hasMoreElements()) {
Boolean boolean1 = Boolean.valueOf(tokenizer.nextToken());
chckbx_1.setSelected(boolean1);
}
if (tokenizer.hasMoreElements()) {
textField.setText(tokenizer.nextToken());
}
if (tokenizer.hasMoreElements()) {
Boolean boolean1 = Boolean.valueOf(tokenizer.nextToken());
chckbx_2.setSelected(boolean1);
}
if (tokenizer.hasMoreElements()) {
textField_1.setText(tokenizer.nextToken());
}
}
} catch (FileNotFoundException ex) {
System.out.println("Error : " + ex);
} catch (IOException ex) {
System.out.println("Error : " + ex);
}
}
});
如果你想从多个文件中读取,你可以使用JFileChooser
比如:
btn2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JFileChooser fc = new JFileChooser();
int ret = fc.showOpenDialog(null);
if (ret == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
filename = file.getAbsolutePath();
}
....
然后,将代码放入读取:
br = new BufferedReader(new FileReader(filename));
您应该使用的变量包括:
private FileWriter fw;
private PrintWriter pw;
private BufferedReader br;
要保存复选框状态和文本字段值,可以使用FileWriter
和PrintWriter
保存到文件中:
btn1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String desktopPath = System.getProperty("user.home") + "/Desktop/";
try {
fw = new FileWriter(desktopPath + "yourfile.txt");
} catch (IOException ex) {
System.out.println("Error : " + ex);
}
pw = new PrintWriter(fw);
pw.println(chckbx_1.isSelected() + "-" + textField.getText() + "-" + chckbx_2.isSelected()
+ " -" + textField_1.getText());
if (pw != null) {
pw.close();
}
}
});
对于从文件中读取,您可以使用BufferedReader
和StringTokenizer
从文件中拆分读取行:
btn2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String desktopPath = System.getProperty("user.home") + "/Desktop/";
try {
String sCurrentLine;
br = new BufferedReader(new FileReader(desktopPath + "yourfile.txt"));
while ((sCurrentLine = br.readLine()) != null) {
StringTokenizer tokenizer = new StringTokenizer(sCurrentLine, "-");
if (tokenizer.hasMoreElements()) {
Boolean boolean1 = Boolean.valueOf(tokenizer.nextToken());
chckbx_1.setSelected(boolean1);
}
if (tokenizer.hasMoreElements()) {
textField.setText(tokenizer.nextToken());
}
if (tokenizer.hasMoreElements()) {
Boolean boolean1 = Boolean.valueOf(tokenizer.nextToken());
chckbx_2.setSelected(boolean1);
}
if (tokenizer.hasMoreElements()) {
textField_1.setText(tokenizer.nextToken());
}
}
} catch (FileNotFoundException ex) {
System.out.println("Error : " + ex);
} catch (IOException ex) {
System.out.println("Error : " + ex);
}
}
});
如果你想从多个文件中读取,你可以使用JFileChooser
比如:
btn2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JFileChooser fc = new JFileChooser();
int ret = fc.showOpenDialog(null);
if (ret == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
filename = file.getAbsolutePath();
}
....
然后,将代码放入读取:
br = new BufferedReader(new FileReader(filename));
您应该使用的变量包括:
private FileWriter fw;
private PrintWriter pw;
private BufferedReader br;
要保存复选框状态和文本字段值,可以使用FileWriter
和PrintWriter
保存到文件中:
btn1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String desktopPath = System.getProperty("user.home") + "/Desktop/";
try {
fw = new FileWriter(desktopPath + "yourfile.txt");
} catch (IOException ex) {
System.out.println("Error : " + ex);
}
pw = new PrintWriter(fw);
pw.println(chckbx_1.isSelected() + "-" + textField.getText() + "-" + chckbx_2.isSelected()
+ " -" + textField_1.getText());
if (pw != null) {
pw.close();
}
}
});
对于从文件中读取,您可以使用BufferedReader
和StringTokenizer
从文件中拆分读取行:
btn2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String desktopPath = System.getProperty("user.home") + "/Desktop/";
try {
String sCurrentLine;
br = new BufferedReader(new FileReader(desktopPath + "yourfile.txt"));
while ((sCurrentLine = br.readLine()) != null) {
StringTokenizer tokenizer = new StringTokenizer(sCurrentLine, "-");
if (tokenizer.hasMoreElements()) {
Boolean boolean1 = Boolean.valueOf(tokenizer.nextToken());
chckbx_1.setSelected(boolean1);
}
if (tokenizer.hasMoreElements()) {
textField.setText(tokenizer.nextToken());
}
if (tokenizer.hasMoreElements()) {
Boolean boolean1 = Boolean.valueOf(tokenizer.nextToken());
chckbx_2.setSelected(boolean1);
}
if (tokenizer.hasMoreElements()) {
textField_1.setText(tokenizer.nextToken());
}
}
} catch (FileNotFoundException ex) {
System.out.println("Error : " + ex);
} catch (IOException ex) {
System.out.println("Error : " + ex);
}
}
});
如果你想从多个文件中读取,你可以使用JFileChooser
比如:
btn2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JFileChooser fc = new JFileChooser();
int ret = fc.showOpenDialog(null);
if (ret == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
filename = file.getAbsolutePath();
}
....
然后,将代码放入读取:
br = new BufferedReader(new FileReader(filename));
您应该使用的变量包括:
private FileWriter fw;
private PrintWriter pw;
private BufferedReader br;
要保存复选框状态和文本字段值,可以使用FileWriter
和PrintWriter
保存到文件中:
btn1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String desktopPath = System.getProperty("user.home") + "/Desktop/";
try {
fw = new FileWriter(desktopPath + "yourfile.txt");
} catch (IOException ex) {
System.out.println("Error : " + ex);
}
pw = new PrintWriter(fw);
pw.println(chckbx_1.isSelected() + "-" + textField.getText() + "-" + chckbx_2.isSelected()
+ " -" + textField_1.getText());
if (pw != null) {
pw.close();
}
}
});
对于从文件中读取,您可以使用BufferedReader
和StringTokenizer
从文件中拆分读取行:
btn2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String desktopPath = System.getProperty("user.home") + "/Desktop/";
try {
String sCurrentLine;
br = new BufferedReader(new FileReader(desktopPath + "yourfile.txt"));
while ((sCurrentLine = br.readLine()) != null) {
StringTokenizer tokenizer = new StringTokenizer(sCurrentLine, "-");
if (tokenizer.hasMoreElements()) {
Boolean boolean1 = Boolean.valueOf(tokenizer.nextToken());
chckbx_1.setSelected(boolean1);
}
if (tokenizer.hasMoreElements()) {
textField.setText(tokenizer.nextToken());
}
if (tokenizer.hasMoreElements()) {
Boolean boolean1 = Boolean.valueOf(tokenizer.nextToken());
chckbx_2.setSelected(boolean1);
}
if (tokenizer.hasMoreElements()) {
textField_1.setText(tokenizer.nextToken());
}
}
} catch (FileNotFoundException ex) {
System.out.println("Error : " + ex);
} catch (IOException ex) {
System.out.println("Error : " + ex);
}
}
});
如果你想从多个文件中读取,你可以使用JFileChooser
比如:
btn2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JFileChooser fc = new JFileChooser();
int ret = fc.showOpenDialog(null);
if (ret == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
filename = file.getAbsolutePath();
}
....
然后,将代码放入读取:
br = new BufferedReader(new FileReader(filename));
保存到文件..读取文件??阅读此文您想将jcheckbox值保存在一个简单的文本文件中还是保存在数据库中?创建一个模型来备份表单并保存它。您检查了我的答案吗?应该可以了,谢谢。是的。通过查看codejava.net/coding/…的网站,我不得不保存和加载。但它只能保存一个文件并加载它。问题是我不能保存多个文件。另一个问题是,如果我的jframe在复选框和文本字段下包含jtable,该怎么办。我可以保存所有数据吗?我的意思是,复选框状态、文本字段以及jtable值一起保存。保存到文件中..读取文件??阅读此文您想将jcheckbox值保存在一个简单的文本文件中还是保存在数据库中?创建一个模型来备份表单并保存它。您检查了我的答案吗?应该可以了,谢谢。是的。通过查看codejava.net/coding/…的网站,我不得不