说明:
1.想了很久 其实真的不想写这块的内容,原因有三个
1.java gui目前现状比较被动,一提java 有多少人 第一反应是C/S结构呢?
2.个人对这方面实践经验很少
3.个人比较关注 javafx2,真心祝愿oracle能用javafx2挽回GUI的失地
2.所以这里只做简单的介绍和指引,出个小例子 大家尝尝吧
3.java的GUI编程(Graphic User Interface,图形用户接口)
4.java 通过AWT或Swing来创建GUI,开发建议使用Netbeans(有图形化编辑界面)
5.指引:AWT、Swing、Swt、容器、组件、布局、事件处理
6.不多说了 上个例子
package com.cxy.gui; import java.awt.DisplayMode; import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.JScrollPane; import javax.swing.JSlider; import javax.swing.JSpinner; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.SpinnerNumberModel; /** * @author cxy */ public class ShowComponent { public static JFrame jf = new CxyJFrame("组件测试"); public static JPanel jp=new JPanel(); public static JLabel jl1=new JLabel("文本框演示"); public static JLabel jl2=new JLabel("文本域演示"); public static JLabel jl3=new JLabel("多选按钮"); public static JLabel jl4=new JLabel("单选按钮"); public static JLabel jl5=new JLabel("下拉框按钮"); public static JLabel jl6=new JLabel("滑块"); public static JLabel jl7=new JLabel("调节文本框"); public static JButton jbu=new JButton("按钮和事件"); /** * 组件测试 展示常用的组件 * JLabel、JTextField */ public static void main(String[] args) { jp.setLayout(null); jl1.setBounds(0, 0, 80, 20); JTextField jtf=new JTextField("文本框"); jtf.setBounds(90, 0, 100, 20); jp.add(jl1); jp.add(jtf); jl2.setBounds(0, 30, 80, 20); JTextArea jta=new JTextArea(); jta.setRows(5); //设置行 jta.setColumns(5); //设置列 jta.setBounds(90, 30, 150, 150); jp.add(jl2); jp.add(jta); //带滚动条的文本框 JTextArea jta1=new JTextArea("带滚动条的文本框,长啊长啊长啊长\r\n1\r\n2\r\n3\r\n4\r\n5\r\n6\r\n7\r\n"); JScrollPane jsp=new JScrollPane(jta1); jsp.setBounds(400, 30, 150, 150); //jsp.setBackground(Color.blue); jsp.setVisible(true); jp.add(jsp); //多选按钮 jl3.setBounds(0, 200, 80, 20); JCheckBox jcb=new JCheckBox("java"); jcb.setBounds(90, 200, 50, 20); jcb.setSelected(true); JCheckBox jcb1=new JCheckBox("javascript"); jcb1.setBounds(150, 200, 100, 20); JCheckBox jcb2=new JCheckBox("sql"); jcb2.setBounds(250, 200, 60, 20); jp.add(jcb); jp.add(jcb1); jp.add(jcb2); jp.add(jl3); //单选按钮 ButtonGroup bg = new ButtonGroup(); JRadioButton jrb=new JRadioButton("男"); JRadioButton jrb1=new JRadioButton("女"); jl4.setBounds(0, 230, 80, 20); jrb.setBounds(90, 230, 60, 20); jrb1.setBounds(150, 230, 60, 20); //只有将单选按钮放到一个组内才能出现单选效果 bg.add(jrb); bg.add(jrb1); jp.add(jrb); jp.add(jrb1); jp.add(jl4); //下拉框 JComboBox jbox=new JComboBox(); jbox.addItem("北京"); jbox.addItem("天津"); jbox.addItem("上海"); jl5.setBounds(0, 260, 80, 20); jbox.setBounds(90, 260, 80, 20); jp.add(jl5); jp.add(jbox); //滑块 JSlider jser=new JSlider(0,100,66); jl6.setBounds(0, 310, 80, 50); jser.setBounds(90, 310, 200, 50); jser.setPaintLabels(true); jser.setPaintTicks(true); jser.setMajorTickSpacing(100); jser.setMinorTickSpacing(0); //jser.setPaintTrack(true); jp.add(jl6); jp.add(jser); System.out.println(jser.getValue()); //调节组件 JSpinner jsper =new JSpinner(new SpinnerNumberModel(5,0,10,0.5)); jl7.setBounds(0, 380, 80, 20); jsper.setBounds(90, 380, 50, 20); jp.add(jl7); jp.add(jsper); jbu.setBounds(0, 480, 150, 60); jp.add(jbu); //注册监听事件 ActionListener al=new MyListtener(); jbu.addActionListener(al); //匿名内部类 //好处: //1.简化代码 //2.可以访问本类的成员变量 jbu.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { jbu.setText("已经点击"); } }); jf.add(jp); jf.setVisible(true); } } //自定义的事件监听器 class MyListtener implements ActionListener { public void actionPerformed(ActionEvent e) { System.out.println("点击按钮的事件"); JFrame jfe=new JFrame(); JLabel jlab=new JLabel("点击按钮的事件"); jfe.add(jlab); jfe.setSize(100, 100); jfe.setLocation(100, 100); jfe.setVisible(true); } } /** 创建一个屏幕居中的窗口 */ class CxyJFrame extends JFrame { public CxyJFrame(String title) { this.setTitle(title); int appW=800; int appH=600; this.setSize(appW, appH); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); GraphicsEnvironment graphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice graphicsDevice = graphicsEnvironment.getDefaultScreenDevice(); DisplayMode displayMode = graphicsDevice.getDisplayMode(); int pingmuW=displayMode.getWidth(); int pingmuH=displayMode.getHeight(); this.setLocation((pingmuW-appW)/2, (pingmuH-appH)/2); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } }
声明:
1.原创文章,转载请标明并加本文连接。
2.更详尽的API请参见 http://docs.oracle.com/javase/7/docs/api/
3.文章反映个人愚见,如有异议欢迎讨论指正
相关推荐
自己初学GUI时的一些小案例,供初学者参考,限于本人水平有限,欢迎大家指正!
java基础GUI框架完成的贪吃蛇小游戏.zipjava基础GUI框架完成的贪吃蛇小游戏.zip java基础GUI框架完成的贪吃蛇小游戏.zipjava基础GUI框架完成的贪吃蛇小游戏.zip java基础GUI框架完成的贪吃蛇小游戏.zipjava基础GUI...
传智播客_Java培训_毕向东_Java基础[08-GUI]系黑马程序员_毕向东_Java基础视频教程 GUI •Graphical User Interface(图形用户接口)。 • 用图形的方式,来显示计算机操作的界面,这样更方便更直 观。 CLI •...
javaGUI编程基础源码 javaGUI编程基础源码 所加源码全部调试通过 javaGUI编程基础源码 javaGUI编程基础源码 所加源码全部调试通过
javaGUI编程入门基础必备 awt、swing各种包
功能简介: 所属课程、题目内容、题目选项、题目答案、题目等级、学生管理、试卷管理、题目管理、时间控制
java基础,GUI基础,自己总结的笔记。
JAVA 编程教学PPT ,JAVA课件
Java GUI程序设计基础 .
完整版 Java基础入门教程 Java程序语言设计 05 GUI GUI 编程(共37页).ppt 完整版 Java基础入门教程 Java程序语言设计 05 GUI Swing(共41页).ppt 完整版 Java基础入门教程 Java程序语言设计 06 异常处理 异常和...
JAVA 应用程序设计基础 JAVA GUI用户界面操作设计
适合人群:具备一定编程基础,但对于java GUI比较陌生的大学生。 能学到什么:①Jframe组件、Jpanel组件、GUI的各种布局等都是怎么在java中体现的;②Mysql数据库与java连接、题目的随机生成、界面切换、循环依赖都...
完整版 Java基础入门教程 Java程序语言设计 05 GUI GUI 编程(共37页).ppt 完整版 Java基础入门教程 Java程序语言设计 05 GUI Swing(共41页).ppt 完整版 Java基础入门教程 Java程序语言设计 06 异常处理 异常和...
完整版 Java基础入门教程 Java程序语言设计 05 GUI GUI 编程(共37页).ppt 完整版 Java基础入门教程 Java程序语言设计 05 GUI Swing(共41页).ppt 完整版 Java基础入门教程 Java程序语言设计 06 异常处理 异常和...
Java提供了多种GUI编程方式,最常用的是Swing和JavaFX。 Swing是Java自带的GUI库,可以用来创建窗口、标签、按钮、文本框等控件。Swing使用了MVC架构,将界面与数据...建议先掌握Java语言基础,然后再深入学习GUI编程。
GUI程序设计,包括Java图形API、图形界面基础、菜单和工具栏 、界面布局和其他组件使用、其他组件的使用、事件处理机制、图形图像基础
【完整课程列表】 Java基础[01-Java概述].pdf Java基础[02-Java基础语法1].pdf Java基础[02-Java基础语法2].pdf Java基础[03-面向对象].pdf Java基础[04-继承上].pdf...Java基础[08-GUI].pdf Java基础[09-网络编程].pdf
java基础知识的学习好资料,一个javaGUI编程实例,fdialog
java gui设计初学者教程,讲述了javaGUI设计的基础知识,适合初学者以及基础薄弱的朋友