`

JAVA基础 之 GUI

    博客分类:
  • java
 
阅读更多

说明:

    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.文章反映个人愚见,如有异议欢迎讨论指正

分享到:
评论

相关推荐

    《Java基础之GUI:探索图形化界面编程的魅力》.docx

    《Java基础之GUI:探索图形化界面编程的魅力》

    java基础之GUI编程

    Java GUI编程是Java应用程序中创建图形用户界面的一种方式。在Java中,我们主要使用Java AWT(Abstract Window Toolkit)和Swing库来构建GUI。...总之,理解GUI编程的基本原理和事件处理机制是构建Java桌面应用的基础。

    java基础GUI框架完成的贪吃蛇小游戏.zip

    java基础GUI框架完成的贪吃蛇小游戏.zipjava基础GUI框架完成的贪吃蛇小游戏.zip java基础GUI框架完成的贪吃蛇小游戏.zipjava基础GUI框架完成的贪吃蛇小游戏.zip java基础GUI框架完成的贪吃蛇小游戏.zipjava基础GUI...

    Java项目:考试系统Java基础Gui(java+Gui)

    Java项目“考试系统Java基础Gui”是一个基于Java和GUI技术构建的应用程序,主要目标是实现一个功能完善的在线考试平台。这个系统充分利用了Java语言的强大功能和GUI库,如Java Swing,来提供用户友好的界面和高效的...

    JAVA基础-GUI

    JAVA基础-GUI JAVA基础-GUI是指在JAVA中关于图形用户界面的相关知识,主要包括GUI的概念、JAVA提供的GUI对象、布局管理器、事件监听机制等。 1. GUI概念: GUI是Graphical User Interface的缩写,中文名称为图形...

    JavaGUI编程基础入门

    "JavaGUI编程基础入门" JavaGUI编程入门基础是学习Java图形用户界面编程的必备知识,涵盖了AWT和Swing包的基础知识。下面是JavaGUI编程基础入门的详细知识点: AWT包简介 AWT(Abstract Window Toolkit)是Java...

    javaGUI开发的小程序

    Java GUI(图形用户界面)开发是...通过实际操作,开发者能够更好地掌握Java Swing库,为创建复杂的桌面应用程序打下坚实基础。对于初学者来说,不断实践和接受反馈是提高的关键,这个小程序就是一个很好的实践平台。

    JAVA-GUI学生管理系统

    首先,让我们深入了解一下Java GUI的基础。Java提供了两种主要的GUI工具包:Swing和JavaFX。Swing是早期的GUI库,包含许多组件,如JFrame(主窗口)、JButton(按钮)、JLabel(标签)、JTextField(文本字段)等,...

    Java GUI程序设计基础(强烈推荐)

    本教程将深入探讨Java GUI的基础知识,包括核心概念、组件、布局管理器以及事件处理机制。 首先,我们要理解Java GUI的基本构建块——AWT(Abstract Window Toolkit)和Swing库。AWT是Java最初的GUI库,提供了基本...

    Java GUI程序设计.pdf

    Java GUI程序设计

    java GUI 事件监听

    本文介绍了Java GUI编程的基础知识,包括创建窗口、添加组件、实现事件监听器等内容。通过这个示例,我们可以看到如何构建一个具有简单功能的GUI应用。对于初学者来说,掌握这些基础知识对于进一步学习高级GUI技术至...

    java实验 排序GUI

    1. **Java基础**:首先,你需要熟悉Java编程语言的基础,包括语法、类、对象、方法以及异常处理。实验中的代码将会基于面向对象编程原则进行编写。 2. **Swing库**:为了构建GUI,我们将使用Java Swing库。Swing...

    传智播客_Java培训_毕向东_Java基础[08-GUI]

    - **Swing**是在AWT基础上发展起来的新一代GUI开发包,完全用Java编写,具有良好的跨平台性。Swing提供了更多高级组件,并且可以定制外观,使得开发者能构建更为美观和功能强大的应用程序。 #### 三、AWT与Swing的...

    java GUI生成二维码

    首先,你需要安装Java Development Kit (JDK),这是编写、编译和运行Java程序的基础。确保你的系统已经安装了JDK,并且`JAVA_HOME`环境变量已经设置正确。 2. **选择库**: Java中有多种库支持二维码生成,例如...

    文档JAVA-GUI

    Java GUI 基础知识点总结 Java GUI(Graphical User Interface)是指图形化用户界面,旨在提高用户与计算机之间的交互性。Java 语言为 GUI 提供了完善的支持,主要通过 java.awt 和 javax.swing 两个包来实现。 一...

    使用Java GUI实现用户登陆界面

    这个任务适合大学二年级的学生作为编程作业,特别是在学习Java基础和GUI编程时。Java GUI允许开发者创建丰富的、交互式的应用程序,使得用户可以通过点击按钮、输入数据等方式与程序进行交互。我们将主要关注以下...

    Java基础[10-GUI].ppt

    JAVA 编程教学PPT ,JAVA课件

    跟我学Java之Java GUI的发展和演化

    Java的核心理念之一就是“编写一次,到处运行”(Write Once, Run Anywhere,简称WORA),这使得基于AWT开发的具有标准GUI元素(如下拉菜单、命令按钮和滚动条等)的应用程序能够跨多种操作系统平台运行而无需进行...

    javaGUI编程基础源码

    本资源“javaGUI编程基础源码”提供了一系列已调试通过的基础代码示例,帮助初学者理解和实践GUI编程。 GUI(图形用户界面)是用户与计算机系统交互的一种方式,通过图形元素如按钮、文本框、菜单等进行操作。在...

Global site tag (gtag.js) - Google Analytics