java实验九选六已完成(4)

2019-03-27 19:24

——————————————————————————————————

实验五 GUI界面制作-AWT、Swing与NetBeans

实验目的:

1.深入理解、掌握Java图形界面编程、事件模型 2.掌握NetBeans的基本使用方法和常用属性的配置 3.利用NetBeans的Mattise组件进行GUI编程。 知识准备:

一.AWT、布局管理器、常用组件、容器、事件处理模型。 二.Swing组件

三.Java事件处理机制 四.NetBeans

实验内容:(选择其一)

一.利用Canvas实现画图软件的功能。

二.利用Graphics类在Frame上画出各种图形并填充。

List应用:点击“>>”按钮时,把左边文本区域的内容添加到右边文本区域。“<<”功能相反。 三.图形日历的实现 四.记事本的实现

五.华容道游戏的实现

六.使用Matisse创建GUI应用程序:名片管理程序,完成名片的增加、删除、修改等集成界面并完成事件处理代码的编写。 import java.awt.Color;

import java.awt.Container;

import java.awt.Rectangle;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Calendar; import javax.swing.*; /**

三.图形日历的实现 */

public class Exam5 {

public static void main(String[] args) { new Mycalendar(); } }

class Mycalendar{

Calendar myDate = Calendar.getInstance(); JLabel lyear = new JLabel(\年:\ JLabel lmonth = new JLabel(\月:\ JButton button = new JButton(\确定\

JTextField textyear = new

JTextField(String.valueOf(myDate.get(Calendar.YEAR)),5); JTextField textmonth = new

JTextField(String.valueOf(myDate.get(Calendar.MONTH)+1),5);

String[] str = new String[]{\星期日\星期一\星期二\星期三\星期四\星期五\星期六\

JLabel[] label = new JLabel[7]; public Mycalendar(){

JFrame frame = new JFrame();

frame.setBounds(400,150,490,300); frame.setLayout(null); frame.setVisible(true);

Container content=frame.getContentPane(); content.setBackground(Color.green);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

lyear.setBounds(140,10,50,20); textyear.setBounds(155,10,50,20);

lmonth.setBounds(250,10,50,20); textmonth.setBounds(275,10,50,20);

button.setBounds(355,10,60,25);

frame.add(lyear); frame.add(textyear); frame.add(lmonth); frame.add(textmonth); frame.add(button);

for(int i=0;i<7;i++){

label[i]=new JLabel(str[i]);

label[i].setBounds(new Rectangle(30+i*60,40,67,34)); frame.add(label[i]); }

final JLabel[] numberLabel= new JLabel[37]; for(int i=0,l=0,h=0;i<37&&l<7&&h<7;i++){ if(i%7==0){ l=0; h++; } else

l++;

numberLabel[i] = new JLabel(\ numberLabel[i].setBounds(new Rectangle(30+l*60,h*30-30+75,60,26)); frame.add(numberLabel[i]); }

MyDateCompute myDateCompute = new

MyDateCompute(Integer.parseInt(textyear.getText()),Integer.parseInt(textmonth.getText()));

int dateNumber=myDateCompute.getDateNumber();

myDate.set(Integer.parseInt(textyear.getText()),Integer.parseInt(textmonth.getText())-1,1);

int skip = myDate.get(Calendar.DAY_OF_WEEK);

for(int i=1,j=skip-1;i<=dateNumber;i++){

numberLabel[j].setText(String.valueOf(i)); j++; }

class MyEventExam5 implements ActionListener{ public void actionPerformed(ActionEvent e){

int year = Integer.parseInt(textyear.getText());

int month = Integer.parseInt(textmonth.getText());

if(month<1||month>12){

JDialog dialog = new JDialog(); dialog.setVisible(true);

dialog.setBounds(400,200,400,400); JLabel dialogLabel = new JLabel(\日期输入错误!\

dialog.add(dialogLabel); }

else{

MyDateCompute myDateCompute = new MyDateCompute(year,month);

myDate.set(year,month-1,1);

int dateNumber=myDateCompute.getDateNumber(); int skip = myDate.get(Calendar.DAY_OF_WEEK);

for(int i=0;i<37;i++)

numberLabel[i].setText(\

for(int i=1,j=skip-1;i<=dateNumber;i++){

numberLabel[j].setText(String.valueOf(i)); j++; } } } }

textyear.addActionListener(new MyEventExam5()); textmonth.addActionListener(new MyEventExam5()); button.addActionListener(new MyEventExam5()); } }

class MyDateCompute{

private boolean leap_year=false; private int dateNumber;

public MyDateCompute(int year,int month){

if(year@0==0||(year%4==0&&year0!=0)) leap_year=true; int february=28; if(leap_year) february=29; switch(month){

case 1:case 3:case 5: case 7:case 8:case 10:case 12:

dateNumber=31;break;

case 4:case 6:case 9: case 11: dateNumber=30;break;

case 2:dateNumber=february; } }

public boolean getLeap_year(){ return leap_year; }

public int getDateNumber(){ return dateNumber; } }


java实验九选六已完成(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017年度师德师风培训材料(3)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: