我想覆盖TextArea中的String,我熟悉setText(String),但它似乎不起作用。我希望textArea根据用户输入的内容读取txt文件。我的代码如下:
first class:
public String getUsuario(){
return txtUsuario.getText();
}
}
second class:
public class PanelResultado extends JPanel
{
private JLabel lblMostrar;
private JScrollPane scrollPane;
private JTextArea textArea;
private PanelUsuario panelUsuario;
private InterfazMilkyWay principal;
private PanelResultado resultado;
/**
* Constructor for objects of class PanelInfo
*/
public PanelResultado()
{
this.setLayout(null);
textArea = new JTextArea("");
textArea.setEditable(false);
textArea.setBorder(BorderFactory.createLineBorder(Color.gray));
panelUsuario = new PanelUsuario();
//JScrollPane scrollPane = new JScrollPane(textArea); // le pone un scrollPane al txtArea
lblMostrar = new JLabel("Resultado;");
lblMostrar.setBounds(0,0,385,30);
textArea.setBounds(0,30,440,110);
this.setBackground(Color.WHITE);
add(lblMostrar);
add(textArea);
//add(scrollPane, BorderLayout.CENTER);
}
public void mostrar(){
String tema = panelUsuario.getUsuario();
String texto = "";
switch (PlanetaActual.planetaActual){
case 0:
textArea.setText("holaaaa");
if (tema.equals("temperatura") || tema.equals("Temperatura")){
System.out.println("temperatura");
texto = "";
try {
Scanner scanner = new Scanner(new File("temperatura mercurio.txt"));
while (scanner.hasNext()) {
// mientras el scanner tenga otra linea
texto += scanner.hasNext();
}
textArea.setText(texto);
} catch (FileNotFoundException e) {
texto = "El archivo no se encuentra";
}
textArea.setText(texto);
}
else if ( tema.equals("posicion") || tema.equals("Posicion")|| tema.equals("Posición")){
texto = "";
try {
Scanner scanner = new Scanner(new File("posicion mercurio.txt"));
while (scanner.hasNext()) {
// mientras el scanner tenga otra linea
texto += scanner.hasNext();
}
} catch (FileNotFoundException e) {
texto = "El archivo no se encuentra";
}
textArea.setText(texto);
}else if (tema.equals("gravedad") || tema.equals("Gravedad")){
texto = "";
try {
Scanner scanner = new Scanner(new File("gravedad mercurio.txt"));
while (scanner.hasNext()) {
// mientras el scanner tenga otra linea
texto += scanner.hasNext();
}
} catch (FileNotFoundException e) {
texto ="El archivo no se encuentra";
}
textArea.setText(texto);
} else {
texto ="no hay información de este tema en este planeta";
textArea.setText(texto);
}
break;
答案 0 :(得分:0)
这可能是因为您尝试更改private
函数中的public
变量。你必须改变
私人JTextArea textArea;
到
public JTextArea textArea;
我还没有测试过,所以我不确定这是不是问题。