第16周周四:GUI编程及文件对话框的使用

项目一:<span style="color: rgb(68, 68, 68); font-family: 'Microsoft YaHei UI'; font-size: 14px; line-height: 22px;">了解文件对话框的使用方法,熟悉GUI中事件驱动的核心步骤。</span>

package com.liang;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class FileChooser extends JFrame implements ActionListener{
    JButton open=null;
    JTextField jtfPath = null;

    public static void main(String[] args) {
        new FileChooser();
    }
    public FileChooser(){
        this.setLayout(new FlowLayout());

        // 按钮初始化
        open=new JButton("open");
        // 添加监听
        open.addActionListener(this);
        // 把按钮添加到JFrame容器中
        this.add(open);

        // 添加文本框控件
        jtfPath = new JTextField("选择的文件",40);
        jtfPath.setEditable(false);     // 不可编辑
        jtfPath.setHorizontalAlignment(JTextField.CENTER);    // 居中
        this.add(jtfPath);

        // 设置JFrame的大小,可显示,默认关闭按钮
        this.setBounds(400, 200, 700, 500);
        this.setVisible(true);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }
    @Override
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        JFileChooser jfc=new JFileChooser();
        jfc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES );
        jfc.showDialog(new JLabel(), "选择");
        File file=jfc.getSelectedFile();

        if(file.isDirectory()){
            System.out.println("文件夹:"+file.getAbsolutePath());

        }else if(file.isFile()){
            System.out.println("文件:"+file.getAbsolutePath());
        }
        System.out.println(jfc.getSelectedFile().getName());

        // 把文件路径显示在文本框中
        jtfPath.setText(file.getAbsolutePath());
    }
}

Swing是目前Java中不可缺少的窗口工具组,是用户建立图形化用户界面(GUI)程序的强大工具。Java Swing组件自动产生各种事件来响应用户行为。如当用户点击按钮或选择菜单项目时,Swing组件会产生一个ActionEvent。Swing组件会产生许多事件,如ActionEvents,ChangeEvents,ItemEvents等,来响应用户的鼠标点击行为,列表框中值的改变,计时器的开始计时等行为。在Java Swing编程中,通过注册监听器,我们可以监听事件源产生的事件,从而在事件处理程序中处理我们所需要处理的用户行为。

GUI事件模式驱动的步骤:

1.  新建一个组件(如JButton)。

2.  将该组件添加到相应的面板(如JPanel)。

3.  注册监听器以监听事件源产生的事件(如通过ActionListener来响应用户点击按钮)。

4.  定义处理事件的方法(如在ActionListener中的actionPerformed中定义相应方法)。

项目三:实验六 图形用户页面 计算器

package aaa;
import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class Computer implements ActionListener,ItemListener
{
 public static JFrame jf;
 public static Container c;
 public static JTextField jtf1,jtf2,jtf3;
 public static JButton jb1;
 public static Choice c2;

 public static String fuhao=""; 

public Computer()
 {
  jf=new JFrame("计算器");
  c=jf.getContentPane();
  c.setLayout(new FlowLayout());
  jtf1=new JTextField(10);
  jtf2=new JTextField(10);
  jtf3=new JTextField(10);
  c2=new Choice();
  jb1=new JButton("=");

 }

 public void Jiemian()
 {

  c.add(jtf1);
  c2.addItemListener(this);
  c2.add("");
  c2.add("+");
  c2.add("-");
  c2.add("*");
  c2.add("/");
  c.add(c2);
  c.add(jtf2);
  jb1.addActionListener(this);
  c.add(jb1);
  c.add(jtf3);

  jf.setLocation(200,100);
  jf.setVisible(true);
  jf.pack();
 }
 public static void main(String args[])
 {
  Computer ys=new Computer();
  ys.Jiemian();
 }

public void actionPerformed(ActionEvent e) {
  // TODO Auto-generated method stub
  double s1=Integer.parseInt(jtf1.getText());
  double s2=Integer.parseInt(jtf2.getText());
  double result=0;
  if(fuhao.equals("+"))
  {
   result=s1+s2;
   String result2=String.valueOf(result);
   jtf3.setText(result2);
  }
  if(fuhao.equals("-"))
  {
   result=s1-s2;
   String result2=String.valueOf(result);
   jtf3.setText(result2);
  }
  if(fuhao.equals("*"))
  {
   result=s1*s2;
   String result2=String.valueOf(result);
   jtf3.setText(result2);
  }
  if(fuhao.equals("/"))
  {
   result=s1/s2;
   String result2=String.valueOf(result);
   jtf3.setText(result2);
  }
 }

public void itemStateChanged(ItemEvent ie)
     {
      if(ie.getSource()==c2)
      {
       String str1=c2.getSelectedItem();
       fanhui(str1);
      }
     }
     public  String fanhui(String str2)
     {
      return fuhao=str2;
     }
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-09 05:25:28

第16周周四:GUI编程及文件对话框的使用的相关文章

《Java程序设计》第16周周四:GUI编程及文件对话框的使用 计算器

项目三:实验六 图形用户界面(教材P279-280) 目标:完成实验六的内容. 运行代码 import java.awt.Frame; import java.awt.Button; import java.awt.Label; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.awt.FlowLayout; import java.awt.TextField; import

GUI编程及文件对话框的使用

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JLabel; @SuppressWarnings("serial") public c

10.JAVA之GUI编程弹出对话框Dialog

在上节基础上添加对话框显示错误信息. 代码如下: /*弹出对话框显示错误信息,对话框一般不单独出现,一般依赖于窗体.*/ /*练习-列出指定目录内容*/ 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

JAVA GUI编程学习笔记目录

1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之GUI编程窗体事件 6.JAVA之GUI编程Action事件 7.JAVA之GUI编程鼠标事件 8.JAVA之GUI编程键盘码查询器 9.JAVA之GUI编程列出指定目录内容 10.JAVA之GUI编程弹出对话框Dialog 11.JAVA之GUI编程菜单 12.JAVA之GUI编程打开与保存文件 13.JAVA之GUI编程将程序打包jar JA

python 打开文件对话框 filedialog tkinter GUI 编程

- -读取文件的gui编程 1 # _*_ coding:utf-8 _*_ 2 3 import tkinter 4 from tkinter import filedialog 5 6 def openfiles2(): 7 s2fname = filedialog.askopenfilename(title='打开S2文件', filetypes=[('S2out', '*.out'), ('All Files', '*')]) 8 print(s2fname) 9 def openfil

12.JAVA之GUI编程打开与保存文件

功能:java图形用户界面开发,练习打开保存文件 代码如下: import java.awt.FileDialog; import java.awt.Frame; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.TextArea; import java.awt.event.ActionEvent; import java.awt.event.ActionListen

初次踏上GUI编程之路(有点意思,详细介绍了菜鸟的学习之路)

初次踏上GUI编程之路 —— 我的Qt学习方法及对Qt认识的不断转变 -> 开始接触GUI与开始接触Qt: 话说,我第一次看见“Qt”这一个名词,好像是在CSDN网站的主页上吧,因为CSDN好像在给Qt做宣传,在主页上占了一栏的广告,只是,这时,我还没怎么刻意去留意这个陌生的字眼.在我大二上学期中下期时,即大概是2011年的12月,由于自己刚刚完成了汇编语言的入门学习,正要制订下一个学习目标,所以,又开始找起了资料,同时,也再次开始为自己的就业问题担心,于是,开始搜集一些招聘单位的信息,这时候,

第14篇-JAVA GUI编程

第14篇-JAVA GUI编程 每篇一句 :道路一开始开辟的时候总是存在障碍的 初学心得: 原本下定决心才能开始的事情也变得理所当然 (笔者:JEEP/711)[JAVA笔记 | 时间:2017-04-25| JAVA GUI编程 ] 1.什么是界面 图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面 与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受 2.Java 基础类 JFC 的基本

C/C++ -- Gui编程 -- Qt库的使用 -- 使用自定义类

1.新建空Qt工程 2.新建C++类HelloQt 3.新建ui文件,添加部件,重命名主窗体(对话框)类名HelloQt,构建生成ui头文件 4.修改头文件helloqt.h 1 #ifndef HELLOQT_H 2 #define HELLOQT_H 3 4 #include <QDialog> 5 6 namespace Ui{ 7 class HelloQt; 8 } 9 class HelloQt : public QDialog 10 { 11 Q_OBJECT 12 public