Java图形界面AWT编程第四个示例

下面的示例可以实现只要你输入路径,就可以把路径下面的目录和文件列出来,如果路径非法的话,都会有提示:

package com.xywei.awt;

import java.awt.Button;
import java.awt.Dialog;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;

public class ListDir {
private Frame fr=new Frame();
private Button bt=new Button();
private TextField txf=new TextField();
private TextArea txa=new TextArea(25,82);
private Button txfCls=new Button("清空路径");
private Button txaCls=new Button("清空内容");
//设计如果目录不存在时候,弹出来的对话框
private Dialog dial=new Dialog(fr, "输入错误", true);
private Label lb=new Label("输入内容出错!!");
private Button dibt=new Button("确定");

public void listDir() {
fr.setTitle("列出目录下面的内容");
fr.setLocation(400, 100);
fr.setResizable(false);
fr.setSize(700, 500);
fr.setVisible(true);
fr.setLayout(new FlowLayout());
txf.setColumns(77);
fr.add(txf);
bt.setLabel("转到");
fr.add(bt);
fr.add(txfCls);
fr.add(txa);
fr.add(txaCls);
//设计对话框布局
dial.setLayout(new FlowLayout());
dial.setBounds(550, 300, 300, 100);
//把对话框中的按钮,标签假如到对话框中
dial.add(lb);
dial.add(dibt);

Event();
}

public void Event(){
fr.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.out.println("===关闭窗口===");
System.exit(0);
}

});

dial.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dial.setVisible(false);
}
});

dibt.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
dial.setVisible(false);
}
});

bt.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
showContent();
}
});
txfCls.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
txf.setText("");
System.out.println("===路径已经清空!===");
}
});
txaCls.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
txa.setText(null);
System.out.println("====内容已经清空!====");
}
});

txf.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
int code=KeyEvent.VK_ENTER;
if(code==e.getKeyCode()){
showContent();
}
}
});

}
public void showContent(){
//获得文本框中输入的目录内容
String path=txf.getText();
File pathName=new File(path);
//判断是否是目录,目录是否存在,如果存在
if(pathName.isDirectory() && pathName.exists()){
//先把原来的内容清空
txa.setText("");
//获得目录中的内容:把内容放入字符串数组中
String[] content=pathName.list();
//从数组中取出数据,显示在文本区域中
for(String contents:content){
txa.append(contents+"\n");

System.out.println(contents);
}
}else {
String showMess="输入的路径\t"+path+"\t没有找到!\n\n";
//把输入的路径的信息显示在label上
lb.setText(showMess);
System.out.println("目录不存在");
dial.setVisible(true);
}
}

/**
* 输入一个路径,把下面的内容都列出来,首先判断是不是目录,输入的是否合法
*
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ListDir ld = new ListDir();
ld.listDir();
}

}

时间: 2024-11-06 22:46:01

Java图形界面AWT编程第四个示例的相关文章

Java图形界面编程

一:基本概念 AWT(Abstract Window Toolkit) 抽象窗口工具包,SUN 公司提供的用于图形界面编程(GUI)的类库.但是AWT得实现严重依赖于下层操作系统,所以导致组件AWT的外观取决于程序运行的平台.AWT的类和接口都定义在java.awt包中. Swing    Swing组件是实在AWT基础上开发的新型GUI组件,它是纯Java实现的轻量级(light-weight)组件,它不依赖任何特定平台,Swing组件在不同平台具有一致性的表现,但是Swing应用程序的界面外

多线程编程、Java I/O系统和Java图形界面编程

多线程编程: 一个正在运行的程序通常称为一个进程,每一个任务称为一个线程,中能够在一个程序内运行多线程的程序称为多线程程序. 线程与进程的区别:①每个进程都需要操作系统为其分配独立的内存空间: ②而同一个进程中的所有线程都在同一内存空间工作,这些线程可以共享同一块内存和系统资源. 线程的创建: 1)通过继承Thread类来创建线程: ①创建一个继承Thread类的类: ②在创建的Thread子类中重写run()方法,在方法中写入想要线程运行的代码: ③创建Thread子类的实例: ④通过调用该实

Java 图形界面开发--图文并茂建立学生管理系统

图形用户界面(Graphics User Interface,GUI)是用户与程序交互的窗口,比命令行的界面更加直观并且更好操作. 这是本人在学习java图形界面开发阶段一步一步实现的超级简易的学生管理系统.虽然说不入大神法眼,但这确实是费了自己不少心血.对于我这样的菜鸟来说,考虑不周到,一不小心就Exception,然后就是自己调呀调.在此分享出来希望对和我一样的菜鸟有帮助. 程序完整代码下载地址见: https://github.com/chaohuangtianjie994/The-Sys

JAVA 图形界面swing 创建按钮、文本域

package org.rui.swin; import java.awt.FlowLayout; import javax.swing.JButton; import javax.swing.JFrame; import org.rui.utils.SwingConsole; public class Button1 extends JFrame{ private JButton button1=new JButton("button1"), button2=new JButton(

【转】java图形界面设计(AWT)

[转自]http://blog.sina.com.cn/s/blog_616e189f0100ne1t.html 1.       基本的java Frame操作. Java的图形界面的类主要包括AWT和Swing.在AWT中图形元素的父类为Component. 继承关系如下:Component->Container->Window->Frame->JFrame.(注意:Swing对AWT进行了扩展). 下面给出一个简单的java图形程序: package com.guan.vis

Java图形界面实战案例——实现打字母游戏

实现打字母的游戏 这次这个案例可以说是头几次所讲的内容的一个技术汇总,主要是 运用了几大块的知识.我们先来定义一下案例的背景:在一个300*400的窗体上,有10个随机产生的字母下落,在键盘上敲击字母,若是敲对了就消掉,初始化的成绩为1000分,每次敲对一个字母就加上10分,如果在字母落到了屏幕的下方还没有敲对的话则判定为失败,就扣除100分. 我们还是老样子,先来进行步骤的划分 1.做满天星 2.把星星改成随机的10个字母 3.让字母落下,如果字母落出了屏幕就生成新的字母,并从屏幕的上方重新出

Java图形界面实战如何用键盘控制小球的移动以及接口的讲解

如何实现小球的移动 还是先走一个小球吧,已经做了很多次了,我们开始思考,如果用户按了键盘上的一个键,那么子啊整个计算机系统中,谁最先知道这件事情呢?这个大家都可以猜出来没错就是键盘,不过后面的事情,键盘到底是通知给谁了?我们干脆跳过中间环节吧,一定会到操作系统对吧?如果你的程序要能够响应用户的输入,是不是操作系统要将这件事情通知给你的程序?系统怎么能够把一件事情通知到你的程序呢?其实之前我们遇到过类似和系统打交道的事情无论是开始的main,还是重画的paint,抑或是线程的run都是和系统打交道

Java 图形界面事件处理机制

Java语言提供了一系列的用户图形界面的组件,主要有两个包:java.awt,和 javax.swing. 其中,awt包是早期包,swing包是后期提供的用户界面包. swing包组件与awt包组件的区别在于:swing包组件 通常不依赖于 当前平台GUI功能. swing组件优势:1.跨平台,2.移植性强,3.swing扩展了awt包,组件更加丰富,使用更加方便. 事件处理机制: Java中使用委托事件模型来处理事件. 委托事件模型分为三个部分:事件源.事件对象.事件监听器. 事件源:指可以

JAVA 图形界面开发基础详解

/*文章中用到的代码只是一部分,需要源码的可通过邮箱联系我 [email protected]*/ 与C的win32一样,JAVA也有自己的图形界面开发,将在此篇博客中对基础部分进行讲解. 1.Java提供的图形界面类有哪些? Java提供了两套图形界面 (1)AWT组建(基础) AWT组件是jdk1.0的时候推出的图形界面类,它是位于java.awt包下的类.   当时在开发AWT组件时,采用的语言是C和C++,并且还调用了操作系统底层的绘图函数来实现AWT组件(我们看到的图形界面实际上画出来