java GUI(图形用户界面)练习

6.1.3 一个简单的GUI程序

package six;
 import javax.swing.*;
 import java.awt.*;
 import java.awt.event.*;

public class Main {
	private static int numclicks = 0;  //记录次数
	private static JFrame frame = new JFrame("简单GUI");
	private static JLabel label = new JLabel("按钮单击次数:"+"0    ");
	private static JButton button = new JButton("点击我!~~~");
	private static JPanel pane = new JPanel();  //容器

	public static void main(String[] args) {
		pane.setBorder(BorderFactory.createEmptyBorder(60,60,20,60));
		pane.setLayout(new GridLayout(0,1));  //设置布局
		pane.add(button);
		pane.add(label);
		frame.getContentPane().add(pane,BorderLayout.CENTER);
		button.setMnemonic(KeyEvent.VK_I);

		button.addActionListener(new ActionListener(){  //鼠标单击事件
			public void actionPerformed(ActionEvent e){
				numclicks++;
				label.setText("按钮单击次数:"+numclicks);
			}
		});
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.pack();
		frame.setVisible(true);
	}
}
        

6.4.2 使用FlowLayout布局管理器

FlowLayout能够根据窗口的大小自动调整布局

package six;
 import javax.swing.*;
 import java.awt.*;
 import java.awt.event.*;

public class Main {
	JButton b1,b2,b3,b4,b5;
	JFrame frame;  //窗体
	public void display(){
		frame = new JFrame("测试书序布局管理器");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //
		b1 = new JButton("按钮 1");
		b2 = new JButton("按钮 2");
		b3 = new JButton("按钮 3");
		b4 = new JButton("按钮 4");
		b5 = new JButton("按钮 5");
		FlowLayout flowLayout = new FlowLayout(); //顺序布局管理器
		Container contentPane = frame.getContentPane();  //容器
		contentPane.setLayout(flowLayout);
		contentPane.add(b1);
		contentPane.add(b2);
		contentPane.add(b3);
		contentPane.add(b4);
		contentPane.add(b5);
		contentPane.setSize(200,100);
		frame.pack();
		frame.setVisible(true);
	}
		public static void main(String[]args)
		{
			new Main().display(); //傻B
		}
}
        

6.4.3使用区域布局管理器BorderLayout

BorderLayout分东西南北中,如何缩放,其南北总是保持最佳高度。

package six;
 import javax.swing.*;
 import java.awt.*;
 import java.awt.event.*;

public class Main {
	JButton b1,b2,b3,b4,b5;
	JFrame frame;  //窗体
	public void display(){
		frame = new JFrame("测试书序布局管理器");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //
		b1 = new JButton("按钮 1");
		b2 = new JButton("按钮 2");
		b3 = new JButton("按钮 3");
		b4 = new JButton("按钮 4");
		b5 = new JButton("按钮 5");
		BorderLayout borderLayout = new BorderLayout();
		Container contentPane = frame.getContentPane();  //容器
		contentPane.setLayout(borderLayout);
		contentPane.add(b1,BorderLayout.EAST);
		contentPane.add(b2,BorderLayout.WEST);
		contentPane.add(b3,BorderLayout.SOUTH);
		contentPane.add(b4,BorderLayout.NORTH);
		contentPane.add(b5,BorderLayout.CENTER);
		contentPane.setSize(200,100);
		frame.pack();
		frame.setVisible(true);
	}
		public static void main(String[]args)
		{
			new Main().display(); //傻B
		}
}
        

6.4.5卡片布局管理器CardLayout

卡片布局管理器把容器作为一个卡片,一次仅有一个卡片可见。

package six;
 import javax.swing.*;
 import java.awt.*;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;

public class Main extends JFrame{  //类Main继承自JFrame
	private JPanel pane = null;
	private JPanel p = null;
	private CardLayout card = null;
	private JButton button_1 = null;
	private JButton button_2 = null;
	private JButton b1 = null,b2 = null,b3 = null;
	private JPanel p1 = null,p2 = null,p3 = null;
	public Main() //
	{
		super("卡片布局管理器测试");
		try{
			UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
		}
		catch(Exception ex){
			ex.printStackTrace();
		}
		//创建新卡片布局
		card = new CardLayout(5,5);
		pane = new JPanel(card);
		p = new JPanel();
		button_1 = new JButton("< 上一步");
		button_2 = new JButton("下一步  >");
		b1 = new JButton("1");b2 = new JButton("2");b3 = new JButton("3");
		b1.setMargin(new Insets(2,2,2,2));
		b2.setMargin(new Insets(2,2,2,2));
		b3.setMargin(new Insets(2,2,2,2));
		p.add(button_1);p.add(b1);p.add(b2);p.add(b3);p.add(button_2);
		p1 = new JPanel();
		p2 = new JPanel();
		p3 = new JPanel();
		p1.setBackground(Color.RED);
		p2.setBackground(Color.BLUE);
		p3.setBackground(Color.GREEN);

		p1.add(new JLabel("JPanel_1"));
		p2.add(new JLabel("JPanel_2"));
		p3.add(new JLabel("JPanel_3"));
		pane.add(p1,"p1");pane.add(p2,"p2");pane.add(p3,"p3");

		//翻转卡片布局动作
		button_1.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				card.previous(pane);
			}
		});
		button_2.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				card.next(pane);
			}
		});
		b1.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				card.show(pane, "p1");
			}
		});
		b2.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				card.show(pane,"p2");
			}
		});
		b3.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				card.show(pane, "p3");
			}
		});
		this.getContentPane().add(pane);
		this.getContentPane().add(p,BorderLayout.SOUTH);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setSize(300, 200);
		this.setVisible(true);
	}

	public static void main(String[]args)
	{
		new Main(); //傻B
	}
}
        
时间: 2024-11-09 23:58:26

java GUI(图形用户界面)练习的相关文章

java计算器 图形用户界面 升级版 v1.02

jsp页面: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.1.m

java计算器 图形用户界面 升级版v2.0 (限制位数显示+四舍五入的处理)

package com.rgy.entity; import java.awt.BorderLayout; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.BorderFactory; import javax.swing.JButton; import java

GUI图形用户界面设计注意事项

软件设计,当然不能局限于算法.代码的设计,界面的设计也同样重要.作为一个全面的编程人员,关心用户体验,也是我们应有的责任与义务. JavaGUI中,有着图形类与工具类等等,图形类包括了容器类与组件类,工具类又包括颜色类.字体类等,现在开发中,图形类使用javax.swing包下的以J开头的类,其他使用java.awt包下的类即可. 容器本质也是一种组件,只不过它被设计来放置其他具体的组件. 设置图形用户界面首先要有一个窗体JFrame类型对象,如果是自定义的窗体,那么它也要继承(extents)

GUI(图形用户界面)

AWT概述 GUI全称是Graphical User Interface,即图形用户界面,即应用程序提供给用户操作的图形界面,包括窗口.菜单.按钮.工具栏和其它各种图形界面元素 GUI设计提供了丰富的类库,这些类分别位于java.awt和javax.swing包中,简称为AWT和Swing Swing不仅实现了AWT中的所有功能,而且提供了更加丰富的组件和功能,足以满足GUI设计的一切需求. AWT事件处理事件处理机制 事件处理机制专门用于响应用户的操作,比如,想要响应用户的点击鼠标.按下键盘等

黑马程序员------Java中GUI(图形用户界面)学习总结

Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! GUI: Graphical User Interface(图形用户接口). 即用图形的方式,来显示计算机操作的界面,以方便用户更容易更直观地操作. Java中为GUI提供的对象都在Java.Awt和Javax.Swing两个包中. java.Awt: Abstract Window ToolKit (抽象窗口工具包). 需要调用本地系统方法实现功能,属于重量级控件. javax.Swing: 在AWT的基础上

转:python 实现GUI(图形用户界面)编程

转:https://blog.csdn.net/dongfei2033/article/details/77971197/ Python支持多种图形界面的第三方库,包括: wxWidgets Qt GTK Tkinter: Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多数的 Unix 平台下使用,同样可以应用在 Windows 和 Macintosh 系统里.Tk8.0 的后续版本可以实现本地窗口风格,并良好地运行在

Java GUI图形界面开发工具

Applet 应用程序     一种可以在 Web 浏览器中执行的小程序,扩展了浏览器中的网页功能. 缺: 1.需要下载 Applet 及其相关文件 2.Applet 的功能是受限制的 优: 3.无需安装 4.平台无关性 5.安全 Applet 的生命周期 编写一个 Applet 程序,需要继承 JApplet 类,这个类提供了 Applet 程序的基本行为方式,只需要覆写其中的方法就可以完成我们自己的 Applet 程序. 生命周期 1.初始化阶段:init 方法 在 Applet 执行之初,

java编写图形用户界面程序--实例2:母亲节快乐!^_^o~ 努力!

最近时间越来越少了,又要准备省赛,又要备考四级! 作为一个地地道道的"农村娃"."计算机渣",作为一个在外的大学生,没能为母亲在她的节日为送礼物.亲身陪着她,现在只能默默地编个小程序送上祝福, 最近时间很少,学到的东西不多^_^o~ 努力!,每一点的成长对我来说都是有价值的努力! import java.awt.*; import javax.swing.*; import java.awt.event.*; public class 简单实例2 { public

十一:Java之GUI图形Awt和Swing

一. AWT和 Swing AWT 和 Swing 是 Java 设计 GUI用户界面的基础.与 AWT 的重量级组件不同,Swing 中大部分是轻量级组件.正是这个原因,Swing 几乎无所不能,不但有各式各样先进的组件,而且更为美观易用.所以一开始使用AWT 的程序员很快就转向使用 Swing 了. 那为什么 AWT组件没有消亡呢?因为 Swing 是架构在 AWT 之上的,没有 AWT 就没有Swing.所以程序员可以根据自己的习惯选择使用 AWT 或者是 Swing.但是,最好不要二者混

java之 22天 GUI 图形界面编程(一)

转自:http://takeme.iteye.com/blog/1876850 GUI(图形用户界面) Java代码 1 import java.awt.Button; 2 import java.awt.FlowLayout; 3 import java.awt.Frame; 4 import java.awt.event.WindowAdapter; 5 import java.awt.event.WindowEvent; 6 7 /** 8 * GUI(图形用户界面) 9 * Graphi