【发布时间】:2014-07-31 10:57:08
【问题描述】:
我遵循了一个关于如何从文本文件读取到 JTextField 的教程。运行程序时,我一直收到相同的错误已经有几个小时了: **
线程“main”中的异常 java.util.NoSuchElementException at java.util.Scanner.throwFor(Scanner.java:907) 在 java.util.Scanner.next(Scanner.java:1416) 在 demo.Demo.Read(Demo.java:26) 在 demo.DemoSwing.main(DemoSwing.java:42)
**
这是我目前使用的代码:
package demo;
import java.io.*;
import java.util.Scanner;
public class Demo {
Scanner scan;
static String Name, Surname;
public void open() {
try {
scan = new Scanner(new File("C:/cygwin/home/James/Demo/src/team1.txt"));
System.out.println("it is working"); }catch (FileNotFoundException e){
System.out.println("it is not working"); } }
public void Read() {
do
{
Name = scan.next();
Surname = scan.next();
} while(scan.hasNext()); System.out.println(Name + Surname);
scan.close();
} }
package demo;
import javax.swing.*;
import java.awt.*;
importjava.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class DemoSwing implements ActionListener {
private JTextField T = new JTextField(30);
private JTextField T1 = new JTextField(30);
private JFrame f = new JFrame("Demo");
private JButton B = new JButton("View");
// Static variable
static String N, S;
public DemoSwing(){
f.add(new JLabel("Name"));
T.setEditable(false);
f.add(T);
f.add(new JLabel("Surname"));
T1.setEditable(false);
f.add(T1);
B.addActionListener(this);
f.add(B);
// JFrame f.setLayout(new FlowLayout()); f.setSize(300,100); f.setVisible(true);
}
public static void main (String[] args){
new DemoSwing();
Demo f = new Demo();
f.open();
f.Read(); } public void actionPerformed(ActionEvent e){
if(e.getSource()== B)
{
T.setText(N);
T1.setText(S);
} } }
【问题讨论】:
-
也许通过使用
JTextArea.read()来使用JTextArea -
您的代码中的所有
>是怎么回事? -
您的文件中似乎只有一行。再添加一行,它应该可以解决错误。
标签: java swing user-interface java.util.scanner