我不明白为什么变量在代码的一部分工作但在其他部分没有。是同一个变量,用相同的值表示。这是我的代码
// Variables
String patologicos="";
String ginecologicos="";
String valuePanel="";
JTextArea ja;
这里构建了构造函数
public BaseHistorialPanelNoEditable(int typePanel){
// constructor
ja = new JTextArea();
ja.setPreferredSize(new Dimension(900, 280));
setBackground(Layout.pac_background);
ja.setEditable(false);
this.add(ja);
showInformation(typePanel);
}
显示某些信息的方法
public void showInformation(int value){
// getting data from DB
getPatientData();
switch (value) {
case 1:
valuePanel = patologicos;
break;
case 2:
valuePanel = ginecologicos;
break;
default:
break;
}
// show message
Main.buildDialog(value + " " +valuePanel, "Mensaje informativo", JOptionPane.INFORMATION_MESSAGE);
// set a value to text area
ja.setText(valuePanel);
}
从数据库获取信息的方法
public void getPatientData(){
Main.readdb.select(
"select * from clinic where no_paciente=" +
Paciente.getPac_no());
if (Main.readdb.getNext()) {
patologicos = Main.readdb.getString("historia_clinic");
ginecologicos = Main.readdb.getString("gineco");
}
这段代码显示了一条消息
Main.buildDialog(value + " " +valuePanel, "Mensaje informativo", JOptionPane.INFORMATION_MESSAGE);
使用相同的变量。
varible working http://i61.tinypic.com/eamogz.jpg
为什么当我在一行之后使用相同的变量时,它没有任何值?
ja.setText(valuePanel);
感谢您的时间。
答案 0 :(得分:-1)
不确定但只是一个想法..
当你使用setEditable(false)时..它可能是内部实现,它不允许设置值..
试试这个:
ja.setEditable(true);
ja.setText(valuePanel);
ja.setEditable(false);
希望这有意义..