java,swing,awt,图形用户界面:怎么搜索一个本地文本文件并将该文件内容在图形界面的文本区显示
按照你的要求编写的Java图形界面读取文本文件的程序如下(注意注释中的提醒)
import java.awt.BorderLayout;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.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextArea;public class B extends JFrame implements ActionListener{ String filename="D:\mp\emp.txt";//这里写你准备好的文本文件的全路径名 JTextArea jta=new JTextArea(5,3); JScrollPane jsp=new JScrollPane(jta); JButton jb=new JButton("读取文件"); JPanel jp=new JPanel(); B(){ setTitle("读取文本文件"); jb.addActionListener(this); jp.add(jb); add(jsp,BorderLayout.CENTER); add(jp,BorderLayout.SOUTH); setSize(300, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); setVisible(true); } public static void main(String[] args) { new B(); } @Override public void actionPerformed(ActionEvent e) { if(e.getSource()==jb){ readFile(filename); } } public void readFile(String filename2){ FileReader fr = null; BufferedReader br = null; try { fr= new FileReader(filename2); br=new BufferedReader(fr); String str; while((str=br.readLine())!=null){ jta.append(str+"
"); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally{ try { br.close(); fr.close(); } catch (IOException e) { e.printStackTrace(); } } }}运行结果
文本文件 temp.txt的内容
天下一家拥抱明天永远的朋友
图形界面就不说了,这个你可以点击按钮然后用IO流去读取文本的内容,读取完了在输出到另一个窗口
需要用到的知识点:
掌握IO知识,可以做到:
搜索文件,读取文本内容,写入文本内容
掌握swing/awt的事件处理机制,可以实现:
点击某个按钮, 会触发相应的事件处理
效果图
参考代码 : 注意填写3个方法
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//该窗口继承自JFrame. 实现了ActionListener接口
public class DemoFrame extends JFrame implements ActionListener {
JTextArea jta;//文本域
JButton jbRead, jbWrite;//按钮
public DemoFrame() {
jta = new JTextArea();
add(jta);
jbRead = new JButton("搜索文件并显示内容");
jbRead.addActionListener(this);
jbWrite = new JButton("修改内容并保存");
jbWrite.addActionListener(this);
JPanel jp = new JPanel();
jp.add(jbRead);
jp.add(jbWrite);
add(jp, BorderLayout.SOUTH);
setTitle("窗口");// 窗口标题
setSize(360, 285);// 窗口大小
setLocationRelativeTo(null);// 窗口居中
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 通常添加这行代码,点击窗口右下角的关闭时会结束程序
setVisible(true);
}
// main方法
public static void main(String[] args) {
new DemoFrame();
}
@Override
public void actionPerformed(ActionEvent e) {
JButton jb = (JButton) e.getSource();
if (jb == jbRead) {
getFilePath();// 搜索文件
jta.setText(readFile(filePath));// 读取文件并显示
} else if (jb == jbWrite) {
if (filePath != null) {
String str = jta.getText();
writeFile(str, filePath);//写入文件
}else {
JOptionPane.showMessageDialog(null, "请先点击<搜索文件并显示>按钮");
}
}
}
// 文件路径
private String filePath;
//需要完成方法1 搜索得到文件路径
private void getFilePath() {
filePath = "d://info.txt";
}
//需要完成方法2 读取文件得到文本内容
private String readFile(String fp) {
return "这是读取得到的文本内容";
}
// 需要完成方法3 把内容写入文件
private void writeFile(String str, String fp) {
JOptionPane.showMessageDialog(null, "保存成功");
}
}
java怎么做swing界面
二:关于事件响应机制,比如点击按钮事件,如何响应.三:一些常用的组件,按钮, 文本框, 下拉框,复选按钮, 单选按钮, 等 举例: 简单的代码,实现给窗口随机更换背景色 import java.awt.*;import java.awt.event.*;import javax.swing.*;public class DemoFrame extends JFrame implements ActionListener{...
现在JAVA开发还用Swing吗
毕竟Java在web方面的地位被确立了,所以桌面上的地位可能会被影响,不过可以告诉你的是Java Swing肯定是可以做其他任何界面UI语言可做的任何事情。再说Java还可以选择SWT进行UI设计,Eclipse就是一个不错的例子。 所以不会淘汰的,现在还有人用。
java Swing 编写需要用的一些常用组件,求代码~~
import java.util.Collection;import java.util.List;import javax.swing.ComboBoxModel;import javax.swing.JComboBox;import javax.swing.JTextField;import javax.swing.UIManager;import com.hengjun.commons.lang.Func1;import com.hengjun.commons.lang.HJCollectionUtils;import com.hengjun.commons.swing.Dimension...
java开发:Swing是MVC设计的典范
GUI技术面临分裂的危险 不过随着JAVA的不断升级和优化 Swing的速度一直在提高 美观性也在改善 基于Swing的成功应用也越来越多了 关于Swing是否消亡或被SWT代替或是否能作桌面应用的争论逐渐少了 不过喜欢并精通Swing技术的开发者 尤其在国内 依旧非常少 lishixinzhi\/Article\/program\/Java\/hx\/201311\/27176 ...
用swing编写一个java抽奖的程序,至少有5个按钮,显得高大上一点。_百度...
import java.awt.Font;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JOptionPane;import javax.swing.border.Border;import javax.swing.border.LineBorder;public class 抽奖游戏 extends...
请教java swing窗体类的两种写法问题?
用extends JFrame的多一些, 只有当当前类还需要继承JFrame之外的类的时候,且又因java是单继承,此时只能用第一种。至于两者用哪一个好?只做比较,不结论。第一种虽然不用extends JFrame,但是new了一个对象,所以开辟了内存空间,代码看起来比较复杂 第二种用到extends JFrame,所以他需要把JFrame内...
有关Java Swing动态增加组件
效果图 参考代码 import java.awt.*;import java.awt.event.*;import javax.swing.*;\/\/本类继承自JFrame 实现了 ActionListener接口public class DemoFrame1 extends JFrame implements ActionListener {JPanel jpc ;\/\/存放组件的面板JScrollPane jsp;\/\/滚动面板JButton jbAdd ,jbRemove,jbReset;\/\/...
用java的swing做界面,想通过在同一个窗口进行面板的切换来达到跳转界面...
代码 import java.awt.event.*;import javax.swing.*;public class JTFDemo extends JFrame implements ActionListener{JTextField jtf1;public JTFDemo() {JLabel jl = new JLabel("用户名:");jtf1 = new JTextField(12);JButton jb = new JButton("提交");jb.addActionListener(this);J...
JAVA入门之Swing如何监听用户动作
关于如何创建一个窗口程序,大家可以参考如下经验 :0JAVA入门之如何使用Swing实现第一个窗口应用 步骤二 : 创建按钮的事件监听类 Swing事件监听接口和基类全部都在包 "java.awt.event" 中!对于按钮控件而言,其单击事件监听接口是 "java.awt.event.ActionListener"。 我们创建的事件监听类要实现这个事件...
java的swing组件的使用
Swing是用于图形用户界面开发的一个全面解决方案,包括250多个类,在这里不能一一列出。本书仅使用Swing用户界面。1.标 签 2.按 钮 3.文本域 4.文本区 5.列表框 6.组合框 7.复选框 8.单选按钮 9.滚动条 10.选项卡 11.对话框 12.菜 单 1.标 签 标签类JLabe...
俟昨可明: AWT 是Abstract Window ToolKit (抽象窗口工具包)的缩写,这个工 具包提供了一套与本地图形界面进行交互的接口.AWT 中的图形函数与操作系统所提供的图形函数之间有着一一对应的关系,把它称为peers. 也就是说,当利用 AWT 来构...
西昌市18843002507: 什么是AWT和swing - ?
俟昨可明: AWT 是抽象窗口组件工具包,是 java 最早的用于编写图形节目应用程序的开发包.Swing 是为了解决 AWT 存在的问题而新开发的包,它以 AWT 为基础的.
西昌市18843002507: 请问AWT和swing绘图方式的区别 - ?
俟昨可明: 在大部分情况中,决定都是在 Swing 与结合了 JFace 的 SWT 之间进行的.通常来说,每个工具包都非常完整且功能强大,足以构建功能完善的 GUI,但是 Swing 通常要比单独使用 SWT(不使用 JFace 时)更好.Swing 具有内嵌于 Java 技术的优点,是完全可移植的,无可争议地是一种更好的架构.Swing 也具有高级图形应用程序所需要的优点.SWT 具有可以作为本地应用程序实现的优点,这可以提高性能,并利用基于 SWT 的 GUI 来实现本地兼容性. 如果您只为一种平台来开发系统,那么 SWT 就具有主机兼容性方面的优点,包括与主机特性的集成,例如在 Windows 上对 ActiveX 控件的使用.
西昌市18843002507: 如何在AWT,Swing和SWT中选择 - ?
俟昨可明: AWT,SWING, SWT 都是java重要的GUI图形界面技术 他们之间的选择, 是要依据场景而定的:1. AWT成熟稳定 , 适合小内存的情况.2. SWING跨平台,组件较为丰富3. SWT在windows平台下性能好,稳定,组件丰富. 在其他平台下,处理不好就容易崩溃 当然了这些都算是比较早的图形界面技术了, 都没有更新了 ,目前java推荐的图形界面技术是JavaFX ,官方的目的是用JavaFX 成为主流~ javaFX功能强大,外观漂亮, 代码量少, 比Swing略微简单, 上手更快.
西昌市18843002507: java awt;java applet;java swing分别是什么?他们之间有什么联系和区别? - ?
俟昨可明: 楼上说的很详细了,我再说几点吧.awt、swing都是用来开发GUI的.关于那个 applet(java小程序,主要用来开发显示在网页上的程序) 在java刚出生的时候,主要就是用来开发applet程序,主要用到 awt.swing是在awt的基础上,进行了全新的理念设计,开发出来的GUI工具包.现实中的情况是:1. applet程序现在已经很少有人在使用了.2. swing主要用来开发java桌面程序,在开发java的桌面程序的时候也离不开awt,例如awt里面的事件方面的类会经常用到.你可以不学applet,但你不能不学awt和swing
西昌市18843002507: java图形界面初学者提问 swing atm(大概是这个名字) Javafx的区别是什么 - ?
俟昨可明: AWT ,SWING , JavaFX 都是java推出的图形界面框架.简单的描述三者的区别如下: 1. awt 组件较少, 运行时占用系统资源较少, 适合嵌入式平台等2. swing组件略多,运行时占用系统资源较多, 有较多的技术参考资料, 适合PC等3. javaFX 组件丰富. 支持3D ,动画, 特效, 多媒体, 也支持html5 ,方便的属性绑定,UI层和事件层分离 ,是更加现代化的图形界面框架.但是资料教材有点少 所以写PC上的java图形界面一般推荐使用swing或JavaFX
西昌市18843002507: 求一个java图形界面编程:使用AWT(或Swing)编制系统功能界面,根据图形编程 - ?
俟昨可明: package net.pzw;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextField;pub...
西昌市18843002507: 谁知道swing与AWT最大的区别是什么? - ?
俟昨可明: SWING与AWT小应用程序的区别 也许你以前使用过AWT进行图形用户界面(GUI)的设计,感觉如何呢?现在JAVA2提供了Swing包,向大家展示了更丰富的功能,使用它设计的界面会更友好,现在我们就来看一下. 以前你设计小应用程序会...
西昌市18843002507: java 的swing 与awt的关系 - ?
俟昨可明: 首先需要说一点swing是AWT的一个类似升级版本. 在SWING里有很多方法都是继承awt里的. 之所以有SWING是应为JAVA原来的设想是用操作系统内的框架来搭设显示环境,但后来发展之后发现不能很好的跨平台.(跨平台后显示出现混乱的错误)所以在1.2的版本中推出了SWING.同时在AWT中一些不错的功能还被SWING所使用!
西昌市18843002507: Java语言 - ?
俟昨可明: swing是在AWT基础上演变 它在图像,文字处理等方面更强,比如要实现字体的更改(记事本的字体功能)在AWT中的TextAre实现比较难 而在SWING中JTextArea容易实现 .两者之间没有太大的区别 你学会使用AWT就基本上会使用swing