Java编程(基于图形界面)从文件中读出数据,显示在文本框中

Java编程1.利用记事本创建一个文本文件,输入若干整数,保存。2.编程实现(基于图形界面):1)从文件中读出数据,显示在文本框中;2)创建2个线程(要求实现Runnab... Java编程
1.利用记事本创建一个文本文件,输入若干整数,保存。
2.编程实现(基于图形界面):
1)从文件中读出数据,显示在文本框中;
2)创建2个线程(要求实现Runnable接口
1.利用记事本创建一个文本文件,输入若干整数,保存。
2.编程实现(基于图形界面):
1)从文件中读出数据,显示在文本框中;
2)创建2个线程(要求实现Runnable接口),分别判断其中的素数和合数,并显示出来。
展开
 我来答
千锋IT教育
2023-10-25 · 千锋-IT职业教育良心机构
千锋IT教育
向TA提问
展开全部
当涉及Java编程中基于图形界面从文件中读取数据并显示在文本框中,千锋教育是您理想的选择。作为IT互联网技术培训领域的领导者,我们提供全面系统的Java开发培训课程,专注于帮助学员掌握Java编程技能和应用。更系统全面的学习资料,点击查看

千锋教育的Java培训课程包含了图形界面开发的相关内容。我们会详细介绍Swing和JavaFX等常用的Java图形界面库,并演示如何在图形界面中创建文本框和实现从文件中读取数据并显示的功能。通过学习这些知识,学员可以轻松地实现类似的需求。

在千锋教育的Java培训中,我们注重理论与实践相结合。除了讲解基本概念和技术原理外,我们还提供大量的实践项目和实战练习,让学员在真实的开发环境中应用所学知识。这样的实践训练有助于学员巩固理论知识、熟悉开发流程,并且在未来的工作中能够迅速上手。

此外,千锋教育还注重培养学员的解决问题和自学能力。我们会引导学员学会查阅官方文档、阅读技术博客等方法,帮助他们掌握自主学习的能力。这对于日后在实际开发中遇到新问题的解决 重要。

如果您有关于Java编程、图形界面开发或其他方面的问题,千锋教育将竭诚为您解答。我们致力于为学员提供优质的技术培训和职业发展支持。无论是刚入门的初学者还是有一定经验的开发者,都可以在千锋教育找到适合自己的Java培训课程。期待与您一起共同成长!
千锋IT培训机构,热门IT课程试听名额限时领取
godwin668
2010-05-14 · TA获得超过367个赞
知道小有建树答主
回答量:135
采纳率:0%
帮助的人:181万
展开全部

首先建一个文本文件,比如在D盘根目录下,名字为:int.txt,然后写一个Java类CalcNumber.java。

****************************************************************

int.txt里面的文本如下:

1 2 3 4 5 6 7 8 9 10

11 12 13 14 15 16 17 18 19 20

21 22 23 24 25 26 27 28 29 30

31 32 33 34 35 36 37 38 39 40

41 42 43 44 45 46 47 48 49 50

****************************************************************

CalcNumber.java类代码如下:

import java.awt.BorderLayout;

import java.awt.Dimension;

import java.awt.GridLayout;

import java.awt.Toolkit;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.BufferedReader;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.IOException;

import javax.swing.BorderFactory;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;

import javax.swing.UIManager;

public class CalcNumber extends JFrame {

 JTextArea in;

 JTextArea suText;

 JTextArea heText;

 public CalcNumber() {

  this.setTitle("计算素数和合数");

  // 输入框

  in = new JTextArea(4, 1);

  in.setAutoscrolls(true);

  JScrollPane inScroll = new JScrollPane(in);

  in.setBorder(BorderFactory.createBevelBorder(1));

  JPanel upper = new JPanel(new BorderLayout());

  upper.add(inScroll);

  // 按钮

  JButton imp = new JButton("导入文本");

  imp.addActionListener(new ActionListener() {

   public void actionPerformed(ActionEvent e) {

    try {

     BufferedReader br = new BufferedReader(new FileReader(

       "d:\\int.txt"));

     String s;

     while ((s = br.readLine()) != null) {

      in.setText(in.getText() + "\n" + s);

     }

     br.close();

    } catch (FileNotFoundException e1) {

     e1.printStackTrace();

    } catch (IOException e2) {

     e2.printStackTrace();

    }

   }

  });

  JButton start = new JButton("启动两个线程并计算");

  start.addActionListener(new CalcActionListener());

  JPanel buttonP = new JPanel();

  buttonP.add(imp);

  buttonP.add(start);

  // 结果

  JPanel result = new JPanel(new GridLayout(1, 2));

  JPanel suPanel = new JPanel();

  suPanel.setBorder(BorderFactory.createTitledBorder("以下为素数"));

  JPanel hePanel = new JPanel();

  hePanel.setBorder(BorderFactory.createTitledBorder("以下为合数"));

  result.add(suPanel);

  result.add(hePanel);

  suText = new JTextArea(4, 25);

  JScrollPane suScroll = new JScrollPane(suText);

  suText.setBorder(BorderFactory.createBevelBorder(1));

  heText = new JTextArea(4, 25);

  JScrollPane heScroll = new JScrollPane(heText);

  heText.setBorder(BorderFactory.createBevelBorder(1));

  suPanel.add(suScroll);

  hePanel.add(heScroll);

  // 总

  JPanel all = new JPanel(new GridLayout(2, 1, 2, 2));

  all.setBorder(BorderFactory.createTitledBorder("计算素数和合数"));

  all.add(upper);

  all.add(result);

  this.add(buttonP, BorderLayout.SOUTH);

  this.add(all, BorderLayout.CENTER);

  // this.setSize(400, 300);

  this.pack();

  Toolkit tool = Toolkit.getDefaultToolkit();

  Dimension screen = tool.getScreenSize();

  this.setLocation(screen.width / 2 - this.getWidth() / 2, screen.height

    / 2 - this.getHeight() / 2);

  this.setVisible(true);

  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 }

 class CalcActionListener implements ActionListener, Runnable {

  public void actionPerformed(ActionEvent e) {

   Thread suThread = new Thread(new CalcActionListener(), "su");

   Thread heThread = new Thread(new CalcActionListener(), "he");

   suThread.start();

   heThread.start();

  }

  public void run() {

   String s = in.getText();

   String[] arr = s.split("\\s");

   StringBuffer su = new StringBuffer();

   StringBuffer he = new StringBuffer();

   for (int i = 0; i < arr.length; i++) {

    boolean flag = false;

    if (!arr[i].equals("") && arr[i] != null) {

     int n = Integer.valueOf(arr[i]);

     for (int j = 2; j < n; j++) {

      if (n % j == 0) {

       flag = true;

      }

     }

     if (Thread.currentThread().getName().equals("su")

       && flag == false) {

      su = su.append(" " + n);

     }

     if (Thread.currentThread().getName().equals("he")

       && flag == true) {

      he = he.append(" " + n);

     }

    }

   }

   if (Thread.currentThread().getName().equals("su")) {

    suText.setText(new String(su));

   } else {

    heText.setText(new String(he));

   }

  }

 }

 public static void main(String[] args) throws Exception {

  UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

  CalcNumber c = new CalcNumber();

 }

}

****************************************************************

运行结果如下:

千锋IT教育
2023-10-25 · 千锋-IT职业教育良心机构
千锋IT教育
向TA提问
展开全部
当涉及Java编程中基于图形界面从文件中读取数据并显示在文本框中,千锋教育是您理想的选择。作为IT互联网技术培训领域的领导者,我们提供全面系统的Java开发培训课程,专注于帮助学员掌握Java编程技能和应用。更系统全面的学习资料,点击查看

千锋教育的Java培训课程包含了图形界面开发的相关内容。我们会详细介绍Swing和JavaFX等常用的Java图形界面库,并演示如何在图形界面中创建文本框和实现从文件中读取数据并显示的功能。通过学习这些知识,学员可以轻松地实现类似的需求。

在千锋教育的Java培训中,我们注重理论与实践相结合。除了讲解基本概念和技术原理外,我们还提供大量的实践项目和实战练习,让学员在真实的开发环境中应用所学知识。这样的实践训练有助于学员巩固理论知识、熟悉开发流程,并且在未来的工作中能够迅速上手。

此外,千锋教育还注重培养学员的解决问题和自学能力。我们会引导学员学会查阅官方文档、阅读技术博客等方法,帮助他们掌握自主学习的能力。这对于日后在实际开发中遇到新问题的解决 重要。

如果您有关于Java编程、图形界面开发或其他方面的问题,千锋教育将竭诚为您解答。我们致力于为学员提供优质的技术培训和职业发展支持。无论是刚入门的初学者还是有一定经验的开发者,都可以在千锋教育找到适合自己的Java培训课程。期待与您一起共同成长!
千锋IT培训机构,热门IT课程试听名额限时领取
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wode5130
2010-05-14 · TA获得超过638个赞
知道小有建树答主
回答量:423
采纳率:100%
帮助的人:334万
展开全部
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;

import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class Test extends JFrame implements ActionListener,Runnable {
JButton btn;
JTextArea text;
JScrollPane scroll;
Thread prime,composite;
File file;
String s1="素数有:",s2="合数有:";
public Test() {
btn=new JButton("load file...");
btn.addActionListener(this);
text=new JTextArea();
text.setLineWrap(true);
scroll=new JScrollPane(text);
JPanel p=new JPanel(new BorderLayout());
p.add(btn,"South");
p.add(scroll,"Center");
setContentPane(p);
setSize(800,500);
setTitle("提取素数和合数");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String [] args) {
new Test();
}
public void actionPerformed(ActionEvent e) {
JFileChooser chooser=new JFileChooser();
chooser.showOpenDialog(this);
file=chooser.getSelectedFile();
writeToText();
(prime=new Thread(this,"prime")).start();
(composite=new Thread(this,"composite")).start();
}

public void run() {
if(Thread.currentThread().getName().equals("prime")) {
splitPrime();
}
if(Thread.currentThread().getName().equals("composite")) {
splitComposite();
}

}

public void writeToText() {
String s=null;
try {
BufferedReader in=new BufferedReader(new FileReader(file));
text.setText("");
while((s=in.readLine())!=null) {
text.append(s);
}

} catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException ee) {
ee.printStackTrace();
}
}

public void splitComposite() {
Scanner sc=new Scanner(text.getText());
for(int i=sc.nextInt();sc.hasNextInt();i=sc.nextInt()) {
int j=i/2;
for(int k=1;k<=j&&i!=2;k++) {
if(k==1) {
continue;
}
if(i%k==0) {
s2+=String.valueOf(i)+" ";
break;
}
}
}
text.append("\n\n"+s2);
}

public void splitPrime() {
Scanner sc=new Scanner(text.getText());
for(int i=sc.nextInt();sc.hasNextInt();i=sc.nextInt()) {
int j=i/2;
int count=0;
for(int k=1;k<=j&&i!=2;k++) {
if(k==1) {
count++;
continue;
}
if(i%k!=0) {
count++;
}
if(k==j&&count==j) {
s1+=String.valueOf(i)+" ";
}
}
if(i==2) {
s1+=String.valueOf(i)+" ";
}
}
text.append("\n\n"+s1);
}
}
让我很郁闷的是,这个程序判断3的时候老是说不是素数,可是我口算了很多遍都是的啊,其它的要求都满足了!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友40070cd2c
2010-05-15
知道答主
回答量:5
采纳率:0%
帮助的人:0
展开全部
btn.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {
String content=jtainput.getText();
if(content.equals("")){
JOptionPane.showMessageDialog(null,"请输入");
}

jtaoutput.setText(jtaoutput.getText()+'\n'+content);
jtainput.setText("");
}

});
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式