当提到Java时,让我一天天的待在教室里学习的就是当学习到GUI的时候,因为终于不只在控制台活动啦,终于可以用户交互啦,话不多说,直接开始。
先上图
如上图,是一些常用的组件,还有一个重要的组成部分为布局,我的习惯是先布局后加组件。
给大家介绍一些常用的,JFrame这个组件叫做窗体所有的交互都从这开始,一般在上边放置布局或者面板,JPanel叫做面板主要是在上边放置各种组件包括布局。
下面用两个小例子(阅读器)给大家介绍一下GUI
先上图
上代码
import javax.swing.*; import javax.swing.event.MenuEvent; import javax.swing.event.MenuListener; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.io.*; import java.util.ArrayList; /** * Created by lenovo on 2017/10/18. */ public class GUITest { //记录当前页 private static int nowPage = 1; private static double WIDTH = 0; private static double HEIGHT = 0; private static String article = ""; //每页字数为1428 private static int pageSize = 1428; //获得页数 private static int maxPageNumber = 0; //文字显示 private static JLabel right = null; //打开的窗体的集合 private static java.util.List<JDialog> jDialogs = null; public static void main(String args[]) { jDialogs = new ArrayList<>(); //获得屏幕的宽高 Toolkit toolkit = Toolkit.getDefaultToolkit(); WIDTH = toolkit.getScreenSize().getWidth(); HEIGHT = toolkit.getScreenSize().getHeight(); JFrame jFrame = new JFrame("GUI测试"); JMenuBar jMenuBar = new JMenuBar(); JMenu jMenu1 = new JMenu("目录选取文件"); jMenu1.addMenuListener(new MenuListener() { @Override public void menuSelected(MenuEvent e) { File[] files = getRootFir(); showDialog(files); } @Override public void menuDeselected(MenuEvent e) { } @Override public void menuCanceled(MenuEvent e) { } }); JMenu jMenu2 = new JMenu("输入目录选取文件"); jMenu2.addMenuListener(new MenuListener() { @Override public void menuSelected(MenuEvent e) { JDialog jDialog = new JDialog(); //面板容器 Panel panel = new Panel(); panel.setLayout(new FlowLayout()); //存放路径的文本框 JTextArea jtext = new JTextArea(1, 50); panel.add(jtext); //搜索 JButton jBtn = new JButton("打开"); jBtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { //开始阅读 try { File file = new File(jtext.getText()); String fileName = file.getName(); String fileType = fileName.substring(fileName.indexOf('.') + 1, fileName.length()); if (fileType.equals("txt")) { article = getText(fil
Java基础之视图式用户交互(GUI)
最新推荐文章于 2024-05-23 04:19:31 发布