提示:写项目需求碰见的Bug
JavaFX使用的注意事项(一)
前言
Java一、多线程
先导包:
import javafx.application.Platform;
然后:将这个代码块包裹住你对应的修改javafx的代码语句
Platform.runLater(new Runnable() {
@Override
public void run() {
//更新JavaFX的主线程的代码放在此处
}
});
把里面内容包裹起来就行
二、IO 操作
通过点击按钮进行读取textfield里面的内容写入到txt文档中;读取文档中的内容到textfield中
2.1写入到txt文档中
public void save(javafx.event.ActionEvent actionEvent) {
// TODO Auto-generated method stub
ArrayList arrayList_write = new ArrayList();
FileWriter fileWriter = null;
arrayList_write.add(text_SourceIP.getText());
arrayList_write.add(text_SourcePort.getText());
arrayList_write.add(text_SourceDB.getText());
arrayList_write.add(text_SourceName.getText());
arrayList_write.add(text_TargetIP.getText());
arrayList_write.add(text_TargetPort.getText());
arrayList_write.add(text_TargetDB.getText());
arrayList_write.add(text_TargetName.getText());
System.out.println(arrayList_write);
try {
fileWriter = new FileWriter("z.txt");//创建文本文件
for (int i = 0; i < arrayList_write.size(); i++) {
fileWriter.write(arrayList_write.get(i) + "\n");//写入 \r\n换行
}
//fileWriter.write("共"+arrayList.size()+"条");
System.out.println("共"+arrayList_write.size()+"条");
fileWriter.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
MyAlertIn("保存成功!可点击记忆按钮载入记录!");
}
2.2写入到textfield中
public void readLine(javafx.event.ActionEvent actionEvent) {
// TODO Auto-generated method stub
File file = new File("z.txt");
BufferedReader reader = null;
String tempString = null;
int line = 1;
ArrayList arrayList_read = new ArrayList();
try {
reader = new BufferedReader(new FileReader(file));
while ((tempString = reader.readLine()) != null) {
System.out.println("Line" + line + ":" + tempString);
line++;
arrayList_read.add(tempString);
}
System.out.println(arrayList_read);
reader.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
text_SourceIP.setText(String.valueOf(arrayList_read.get(0)));
text_SourcePort.setText(String.valueOf(arrayList_read.get(1)));
text_SourceDB.setText(String.valueOf(arrayList_read.get(2)));
text_SourceName.setText(String.valueOf(arrayList_read.get(3)));
text_TargetIP.setText(String.valueOf(arrayList_read.get(4)));
text_TargetPort.setText(String.valueOf(arrayList_read.get(5)));
text_TargetDB.setText(String.valueOf(arrayList_read.get(6)));
text_TargetName.setText(String.valueOf(arrayList_read.get(7)));
}
三、判断按键有没有被选中
- rb1.isSelected()
rb1.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
// TODO Auto-generated method stub
if(rb1.isSelected()){
System.out.println("刚解决的");
}
}
判断一个按钮有没有被选择 isSeleted()
- 当一个表中存在主键或唯一索引时,你使用replace into 语句插入数据时,会先把冲突的旧数据删除,然后’插入新数据。而insert into则会报错。
判断JTextfield里面getText里面内容是否相同时候:
使用.equals方法判断相等
不能使用 ==方法进行判断