GUI

来源:互联网 发布:java开发的经典书籍 编辑:程序博客网 时间:2024/06/05 14:34

说到Java和C++最大的区别,我能想到的就是GUI了(即Graphical User Interface用户图形界面),这部分内容是最新颖的,从未接触的,所以特地分开来记录;

GUI用到的类主要有javax.swing.*   java.awt.*.主要通过按钮(button),标签(label),面板(panel),框架(frame)来构造图形;


1、显示信息文本: JOptionPane.showMessageDialog(null,"Hello World");  还有另一种方式,不过这里只介绍简单的那种。



2、从输入对话框获取输入:(String input = )JOptionPane.showInputDialog("Enter an input") ,结果如图




3、确认对话框: int option = JOptionPane.showConfirmDialog(null,"Continue");

点击YES返回0,No返回1,Canc返回2;

  


4、确认对话框的应用:控制循环

import javax.swing.*;import java.util.*;import java.awt.Graphics;public class Main{public static void main(String [] args){ int sum = 0; int option = JOptionPane.YES_OPTION; while(option == 0){ String dataString = JOptionPane.showInputDialog("Enter a integer"); int data = Integer.parseInt(dataString); sum += data; option = JOptionPane.showConfirmDialog(null,"Continue?");  } JOptionPane.showMessageDialog(null, "The sum is "+sum);}}



用户点击YES,则循环持续进行,结果累加,否则,结束循环,输出结果。


5、文件对话框:涉及File类和Scanner类;

import java.io.FileNotFoundException;import java.util.Scanner;import javax.swing.JFileChooser;public class File {public static void main(String[] args)  throws Exception {JFileChooser chooser = new JFileChooser();if(chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION){java.io.File file = chooser.getSelectedFile();Scanner input = new Scanner(file);while(input.hasNext()){System.out.println(input.nextLine());}input.close();}else {System.out.println("No File selected");}}}




当然,文件是打不开的。。。


6、简单说说Java GUI API

主要包括三类:组件类(component)、容器类(container)、辅助类(helper)








这部分还没完全掌握,所以我只能做个搬运工了~~~~


JFrame的用法及实例




3种布局管理器:

1)FlowLayout


所谓的指定对齐方式即左对齐和右对齐,例如可以用FlowLayout.LEFT实现左对齐。



2)GridLayout

与矩阵类似




3)BorderLayout




其他的Color类,Font类就不说了

最后的最后,分享一个易错的内容:

在使用图像时,用绝对路径当然没问题,但为了省时(偷懒),我们有时会使用相对路径,比如创建一个图标:

ImageIcon icon = new ImageIcon("image/us.gif");

因为我使用的是eclipse,所以这里以eclipse为例,eclipse是默认从当前项目开始扫描,即与src同一目录的文件

例如你的项目名为a,则路径为a/image/us.gif,这里的image文件夹应与src在同一目录下。


有关GUI的内容就这些了,作为一个新手,理解不当之处请见谅,有错之处请帮忙之处,谢谢~~~~



0 0
原创粉丝点击