文档库 最新最全的文档下载
当前位置:文档库 › Java使用图形用户界面万年历

Java使用图形用户界面万年历

Java使用图形用户界面万年历
Java使用图形用户界面万年历

9、万年历

要求:

使用图形用户界面。

实现日期与星期的查询

import java.awt.*;

import java.awt.event.*;

import java.text.*;

import java.util.*;

import javax.swing.*;

import javax.swing.table.*;

public class test1 extends JFrame implements ActionListener

{

private Calendar cal= Calendar.getInstance();

private String [] str = {"星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"};

private DefaultTableModel dtm = new DefaultTableModel(null,str);

private JTable table = new JTable(dtm); //装日期的表格private JScrollPane sp = new JScrollPane(table);

private JButton bLastYear = new JButton("上一年");

private JButton bNextYear = new JButton("下一年");

private JButton bLastMonth = new JButton("上月");

private JButton bNextMonth = new JButton("下月");

private JTextField Year = new JTextField(4);//jtfYear年份显示和输入文本private JLabel jla=new JLabel("年");

private JTextField month = new JTextField(4);

private JLabel jla1=new JLabel("月");

private JTextField jtfMonth = new JTextField(2);//jtfMonth月份显示文本框private JPanel p1 = new JPanel(); //装入控制日期按钮的模块private JPanel p2 = new JPanel();

private JPanel p3 = new JPanel(new BorderLayout());

private JPanel p4 = new JPanel(new GridLayout(2,1));

private JPanel p5 = new JPanel(new BorderLayout());

private JLabel l = new JLabel("文本框中可直接键入要查找的年份,以提高查询效率");

private JLabel lt = new JLabel();

private int lastTime;

public test1()

{

super("万年历"); //框架命名

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//窗口关闭函数

this.getContentPane().setLayout(new BorderLayout(10, 0));

table.setGridColor(Color.GRAY); //星期之间的网格线是灰色的

table.setColumnSelectionAllowed(true);

table.setSelectionBackground(Color.BLACK);//当选定某一天时这一天背景黑

table.setSelectionForeground(Color.GREEN);//选定的日期字体是绿色的

table.setBackground(new Color(184,207,229));//日期显示表格颜色浅蓝色

table.setFont(new Font("黑体",Font.BOLD,24));//日期数字字体格式

table.setRowHeight(30);//表格的高度

Year.addActionListener(this);//可输入年份的文本框

month.addActionListener(this);//可输入年份的文本框

//为各个按钮添加监听函数

bLastYear.addActionListener(this);

bNextYear.addActionListener(this);

bLastMonth.addActionListener(this);

bNextMonth.addActionListener(this);

//将按钮添加到Jpanel上

p1.add(bLastYear);

p1.add(Year);//年份输入文本框

p1.add(jla);

p1.add(month);//年份输入文本框

p1.add(jla1);

p1.add(bNextYear);

p1.add(bLastMonth);

p1.add(jtfMonth);

p1.add(bNextMonth);

p3.add(p2, BorderLayout.SOUTH);

p4.add(l);

p4.add(lt);

p5.add(p4, BorderLayout.SOUTH);

p5.add(sp, BorderLayout.CENTER);

p5.add(p1, BorderLayout.NORTH);

this.getContentPane().add(p5, BorderLayout.CENTER);

this.getContentPane().add(p3, BorderLayout.EAST);

String [] strDate = DateFormat.getDateInstance().format(new

Date()).split("-");//获得日期

cal.set(Integer.parseInt(strDate[0]), Integer.parseInt(strDate[1])-1, 0);

showCalendar(Integer.parseInt(strDate[0]),

Integer.parseInt(strDate[1]), cal);

jtfMonth.setEditable(false);//设置月份的文本框为不可编辑

Year.setText(strDate[0]);

month.setText(strDate[1]);

jtfMonth.setText(strDate[1]);

new Timer(lt).start();

this.setBounds(200,200,600,320);

this.setResizable(false);

this.setVisible(true);

}

public void showCalendar(int localYear, int localMonth, Calendar cld)

{

int Days = getDaysOfMonth(localYear, localMonth) +

cld.get(Calendar.DAY_OF_WEEK) - 2;

Object [] ai = new Object[7];

lastTime = 0;

for (int i = cld.get(Calendar.DAY_OF_WEEK)-1; i <= Days; i++)

{

ai[i%7] = String.valueOf(i-(cld.get(Calendar.DAY_OF_WEEK)-2));

if (i%7 == 6)

{

dtm.addRow(ai);

ai = new Object[7];

lastTime++;

}

}

dtm.addRow(ai);

}

public int getDaysOfMonth(int year, int Month) //显示所选月份的天数

{

if(Month == 1 || Month == 3 || Month == 5 || Month == 7 || Month == 8 || Month == 10 || Month == 12)

{

return 31;

}

if(Month == 4 || Month == 6 || Month == 9 || Month == 11)

{

return 30;

}

if(year%4 == 0 && year%100 != 0 || year%400 == 0)//闰年

{

return 29;

}

else

{

return 28;

}

}

public void actionPerformed(ActionEvent e)

{

if(e.getSource() == Year|| e.getSource() == bLastYear|| e.getSource() == bNextYear ||

e.getSource() == bLastMonth || e.getSource() == bNextMonth) {

int m, y;

try//控制输入的年份正确,异常控制

{

if (Year.getText().length() != 4)

{

throw new NumberFormatException();

}

y = Integer.parseInt(Year.getText());

m = Integer.parseInt(jtfMonth.getText());

}

catch (NumberFormatException ex)

{

JOptionPane.showMessageDialog(this, "请输入4位0-9的数字!", "年份有误", JOptionPane.ERROR_MESSAGE);

return;

}

for (int i = 0; i < lastTime+1; i++){ dtm.removeRow(0);}

if(e.getSource() ==

bLastYear){ Year.setText(String.valueOf(--y)); }

if(e.getSource() ==

bNextYear){Year.setText(String.valueOf(++y)); }

if(e.getSource() == bLastMonth)

{

if(m == 1)

{

Year.setText(String.valueOf(--y));

m = 12;

jtfMonth.setText(String.valueOf(m));

}

else

{

jtfMonth.setText(String.valueOf(--m));

}

}

if(e.getSource() == bNextMonth)

{

if(m == 12)

{

Year.setText(String.valueOf(++y));

m = 1;

jtfMonth.setText(String.valueOf(m));

}

else

{

jtfMonth.setText(String.valueOf(++m));

}

}

cal.set(y, m-1, 0);

showCalendar(y, m, cal);

month.setText(String.valueOf(m));

}

}

public static void main(String[] args)

{

JFrame.setDefaultLookAndFeelDecorated(true);

JDialog.setDefaultLookAndFeelDecorated(true);

new test1();

}

}

class Timer extends Thread//显示系统时间

{

private JLabel lt;

private SimpleDateFormat fy = new SimpleDateFormat("yyyy.MM.dd G 'at' HH:mm:ss z");

private SimpleDateFormat fn = new SimpleDateFormat("yyyy.MM.dd G 'at' HH mm ss z");

private boolean b = true;

public Timer(JLabel lt)

{

this.lt = lt;

}

public void run()

{

while (true)

{

try

{

if (b)

{

lt.setText(fy.format(new Date())); }

else

{

lt.setText(fn.format(new Date())); }

b = !b;

Timer.sleep(500);

}

catch (InterruptedException ex)

{

ex.printStackTrace();

}

}

}

}

实验截图:

java图形界面之电子算盘

Java图形用户界面 院系: 计算机系姓名:后人好乘凉 一实验目的 ●使学生综合运用图形用户界面设计的概念; ●使学生熟悉使用中间面板,组成层次复杂的GUI界面; ●使学生掌握使用事件驱动编程; 二实验环境及实验准备 ●所需硬件环境为微机; ●所需软件环境为JDK、Eclipse; ●掌握Java下界面容器与基本组件的基本知识与应用; ●掌握Java下事件处理模型; ●掌握Java下图形绘制的方法; 三实验内容 (一)、设计实现电子算盘,并完成测试; [题目描述及要求] 给小朋友设计一个电子算盘。要求绘制电子算盘界面,设计并实现打珠算过程(界面参考如下图示)。 电子算盘参考界面示意 程序源代码: package calculator;

import java、awt、Color; //导入 import java、awt、GridLayout; import java、awt、Container; import javax、swing、JLabel; import javax、swing、JButton; import javax、swing、ImageIcon; import javax、swing、JPanel; import javax、swing、JFrame; import javax、swing、JTextField; import java、awt、event、*; public class Calculator extends JFrame{ public int totalNumber; public int t = 0; public boolean[] isAddFive = new boolean[5]; public int number[] = new int[5]; public ImageIcon picture = new ImageIcon(System、getProperty("user、 dir") + "/算珠、jpg" ); //添加图片 public ImageIcon picture1= new ImageIcon(System、getProperty("user、 dir") + "/算珠1、jpg" ); Container con = getContentPane(); JPanel j1 = new JPanel(); JPanel j2 = new JPanel(); JPanel j3 = new JPanel(); JPanel time=new JPanel(); JLabel q = new JLabel(); JLabel nA = new JLabel(); JLabel Time=new JLabel(new ImageIcon("、/时钟、jpg")); //添加时钟标签的图片 JTextField a = new JTextField(); JButton Buttons_1[][] = new JButton[2][5]; JButton Buttons_2[][] = new JButton[5][5]; GridLayout gl_1 = new GridLayout(2,5); GridLayout gl_2 = new GridLayout(5,5); GridLayout gl_3 =new GridLayout(); public Calculator() { super("电子算盘"); setDefaultCloseOperation(JFrame、EXIT_ON_CLOSE); setBounds(100,100,600,400); setVisible(true); setLayout(null); AbacusPanel(); } public void AbacusPanel() // 算盘面板

java图形用户界面设计

实验名称:图形用户界面设计 一、实验目的 1.掌握常用图形界面组件(按钮、文本框等)对象的创建及其常用方法的使用。如,按钮的常用方法是getLabel(),文本框的常用方法有setText(),getText()等。 2.掌握常用的布局管理类CardLayou,BorderLayout,FlowLayout,GridLayout的使用策略。能够将它们联合起来使用。 3.掌握java语言的事件处理。每个事件对应的接口(或适配器类)是什么,每个接口有哪些方法,如何进行委托处理,被委托者必须做什么。 二、实验环境(软件、硬件环境) PC机 JDK包 三、实验原理 通过图形用户界面(GUI),用户和程序之间可以方便地进行交互。javax.swing包中的组件类可以帮助我们完整界面的设计。javax.swing包的JComponent类是java.awt包中的Container类的一个直接子类、Component类的间接子类。javax.swing包中的JFrame类和JDialog类分别是java.awt包中Frame类和Dialog类的直接子类、Window类的间接子类。在学习GUI编程时,必须很好地理解并掌握两个概念:容器类和组件类,必须很好地掌握java的事件处理机制。 四、实验容及步骤 实验容:密码验证问题。 编写一个Java程序,实现用户根据自己的密码进入界面,如果用户输入信息正确,则输出“欢迎XXX用户”,否则用户还可以尝试两次,如果尝试阶段输入信息错误,则输出“请输入正确的信息”,如果尝试失败,用户则退出。 调试并编译程序PasswordVerification.java,运行该程序,运行结果如图8-1、图8-2、

java图形界面以及链接数据库

import java、awt、*; import java、awt、event、*; import javax、swing、*; import java、sql、*; public class NoteTextArea extends JFrame implements ActionListener { private JPanel jp=new JPanel(); private JButton[] jb = new JButton[4]; private JComboBox box; private JTextArea jt=new JTextArea(); private JScrollPane js=new JScrollPane(jt,ScrollPaneConstants、VERTICAL_SCROLLBAR_ALWAYS,ScrollPaneConstants、HORIZONTAL_SCROLLBAR_NEVER); private String[] obj; private JTextField text = new JTextField(); public NoteTextArea() { jp、setLayout(null); String[] obj = new String[]{"微笑","生气","难过","得意"}; box = new JComboBox(obj); JLabel j1 = new JLabel("留言版"); JLabel j2 = new JLabel("您"); JLabel j3 = new JLabel("地说:"); jb[0] = new JButton("清屏"); jb[1] = new JButton("至顶"); jb[2] = new JButton("至尾"); jb[3] = new JButton("提交"); for(int i = 0;i < 3;i++) { jb[i]、setBounds(650,i*75+55,100,50); } for(int i = 0;i < 3;i++) { jp、add(jb[i]); } j1、setBounds(280,10,50,30); j2、setBounds(20,375,30,50); box、setBounds(55,385,80,30); j3、setBounds(160,375,40,50); text、setBounds(210,385,300,30); jb[3]、setBounds(520,365,75,50); js、setBounds(10,50,600,300); jp、add(j1); jp、add(j2);

java实验报告实验六Java图形用户界面

信息工程学院 Java程序设计实习报告 JAVA图形用户界面 实验六Java图形用户界面 1.实验目的 (1)掌握图形用户界面基本组件。 (2)了解如何使用布局管理器对组件进行管理。 (3)掌握Java事件处理机制。 2.实验内容 实验题 1 编写一个模拟计算器的程序,使用面板与网格布局,添加一个文本框,10个数字按钮(0-9),4个加减乘除按钮,一个等号按钮,一个清除按钮,要求将计算公式与结果显示在文本框中。 运行结果: 实验报告的内容与格式按任课教师的要求书写。

加法: 主要代码: private void initComponents() { jButton1 = new javax、swing、JButton(); jButton2 = new javax、swing、JButton(); jButton3 = new javax、swing、JButton(); jButton4 = new javax、swing、JButton(); jButton5 = new javax、swing、JButton(); jButton6 = new javax、swing、JButton(); jButton7 = new javax、swing、JButton(); jButton8 = new javax、swing、JButton(); jButton9 = new javax、swing、JButton(); jButton10 = new javax、swing、JButton(); jButton11 = new javax、swing、JButton(); jButton12 = new javax、swing、JButton(); jButton13 = new javax、swing、JButton(); jButton14 = new javax、swing、JButton(); jButton15 = new javax、swing、JButton(); jTextField1 = new javax、swing、JTextField(); setStub(null); jButton1、setText("3"); jButton1、addActionListener(new java、awt、event、

java图形化界面练习及答案

作业标题:第四次练习题(总分:得分:分)一、单选题(共有题目15题,共计分) 1. 下列属于容器的组件有 A. ) JButton B. JPane C. Canvas D. JTextArea 学生的答案: B 标准答案: B 该题分数: 学生得分: 分 2. 】 下列方法中,不属于WindowListener接口的是A. windowOpened()

B. windowClosed() C. windowActivated() D. > windowAdapter 学生的答案: D 标准答案: D 该题分数: 学生得分: 分 3. 下列不属于Swing中组件的是( )。 A. JPanel B. JTable C. 《 Menu D. JFrame

学生的答案: C 标准答案: C 该题分数: 学生得分: 分 4. 以下Swing组件中哪一个不是顶层容器组件( )。 A. 框架 B. - 对话框 C. 面板 D. 小程序 学生的答案: C 标准答案: A 该题分数: 学生得分: 0分 5. 对于Swing基本控件单选框,若要使两个单选框对象之间具有相互排斥的关系,需要( )。 A. 》

创建两个单选框对象时定义相同的对象名 B. 将两个单选框对象放在同一个面板上 C. 定义一个ButtonGroup对象group,将两个单选框对象加到group中D. 让两个单选框排成一行或一列 学生的答案: C 标准答案: C 该题分数: 学生得分: 分 6. . 容器被重新设置大小后,( )布局管理器的容器中的组件大小不随容器大小的变化而改变。 A. CardLayout B. FlowLayout C. BorderLayout ?

java简单图形用户界面代码

package dsr; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import https://www.wendangku.net/doc/9f18871437.html,.Socket; public class Login extends JFrame implements ActionListener{ //定义组件 JPanel northPanel,southPanel,centerPanel,centerPanel1,centerPanel11,centerPanel12; JButton loginBtn,registerBtn,cancalBtn; JLabel userLbl,passwordLbl,titleLbl; JTextField userTxt; JPasswordField passwordPwd; static String name; public Login () { super("用户登录"); northPanel=new JPanel(); southPanel=new JPanel(); centerPanel1=new JPanel(); centerPanel11=new JPanel(); centerPanel12=new JPanel(); //标题 titleLbl=new JLabel("欢迎进入考试系统"); titleLbl.setFont(new Font("隶书",Font.BOLD,24)); northPanel.add(titleLbl); this.add(northPanel,BorderLayout.NORTH); //中间部分 centerPanel1.setLayout(new BorderLayout()); userLbl=new JLabel("用户名"); userTxt=new JTextField(12); centerPanel11.add(userLbl); centerPanel11.add(userTxt); centerPanel1.add(centerPanel11,BorderLayout.NORTH); passwordLbl=new JLabel("密码"); passwordPwd=new JPasswordField(12); centerPanel12.add(passwordLbl); centerPanel12.add(passwordPwd);

Java基础实验报告-图形用户界面设计

南京工程学院 实验报告 课程名称 JAVA基础 实验项目名称图形用户界面设计 实验学生班级 实验学生姓名 学号 同组学生姓名 实验时间 实验地点 实验成绩评定 指导教师签字年月日

一、实验目的和要求 1.掌握Java Swing组建的使用方法,包括窗口、框架、对话框、面板、文本编辑框、按钮、组合框等多种布局方式,掌握窗口菜单和快捷菜单设计方式。 2.理解委托时间处理模型,掌握不同组件、不同事件的事件处理方法,设计出能够响应事件的Java图形用户界面。 3.熟悉在组件上绘图的方法。 二、实验题目 用表格存储并显示个人所得税税率表,给定一个月收入值,计算应缴的个人所得税。 三、实验方法与步骤(需求分析、算法设计思路、流程图等) 算法设计思路:本次实验题目为计算个人所得税,所以本人从网上找到了国家最新的税收政策,以下为截图:

因此,我设计了以下核心算法 public void actionPerformed(ActionEvent e) { if(e.getSource()==button_b) { double wage=Double.parseDouble((String)text_wage.getText()); double tax = 0; if(wage<=3500) tax=0; if(wage>3500&&wage<=5000) tax=(wage-3500)*0.03; if(wage>5000&&wage<=8000) tax=(wage-3500)*0.1-105; if(wage>8000&&wage<=12500) tax=(wage-3500)*0.2-555; if(wage>12500&&wage<=38500)

java图形界面以及链接数据库

import .*; import .*; import .*; public class NoteTextArea extends JFrame implements ActionListener { private JPanel jp=new JPanel(); private JButton[] jb = new JButton[4]; private JComboBox box; private JTextArea jt=new JTextArea(); private JScrollPane js=new JScrollPane(jt,,; private String[] obj; private JTextField text = new JTextField(); public NoteTextArea() { (null); String[] obj = new String[]{"微笑","生气","难过","得意"}; box = new JComboBox(obj); JLabel j1 = new JLabel("留言版"); JLabel j2 = new JLabel("你"); JLabel j3 = new JLabel("地说:"); jb[0] = new JButton("清屏"); jb[1] = new JButton("至顶"); jb[2] = new JButton("至尾"); jb[3] = new JButton("提交"); for(int i = 0;i < 3;i++) {

jb[i].setBounds(650,i*75+55,100,50); } for(int i = 0;i < 3;i++) { (jb[i]); } (280,10,50,30); (20,375,30,50); (55,385,80,30); (160,375,40,50); (210,385,300,30); jb[3].setBounds(520,365,75,50); (10,50,600,300); (j1); (j2); (j3); (box); (text); (jb[3]); (js); for(int i=0;i<=3;i++) { jb[i].addActionListener(this); } (false); (true); ("留言内容:");

Java图形用户界面实验报告

西安邮电大学 (计算机学院) 课内实验报告 实验名称:图形用户界面 专业名称:计算机科学与技术 班级:计科1405班 学生姓名:高宏伟 学号:04141152 指导教师:刘霞林 实验日期:一、实验目的 了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,了解如何使用布局管理器对组件进行管理,以及如何使用Java 的事件处理机制。 二、实验要求 1. 掌握使用布局管理器对组件进行管理的方法。

2. 理解Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。 3. 掌握编写独立运行的窗口界面的方法。 4. 掌握组件的使用方法。 5. 了解对话框的使用方法。 三、实验内容 (一)算术测试。 实验要求: 编写一个算术测试小软件,用来训练小学生的算术能力。程序由3个类组成,其中Teacher类对象负责给出算术题目,并判断回答者的答案是否正确; ComputerFrame类对象负责为算术题目提供视图,比如用户可以通过 ComputerFrame类对象提供的GUI界面看到题目,并通过该GUI界面给出题目的答 案;MainClass是软件的主类。 程序模板: public class Teacher { int numberOne,numberTwo; String operator=""; boolean right; public int giveNumberOne(int n) { numberOne=(int)()*n)+1; return numberOne; } public int giveNumberT wo(int n) { numberTwo=(int)()*n)+1; return numberTwo; } public String giveOperator() { double d=(); if(d>= operator="+"; else operator="-"; return operator; } public boolean getRight(int answer) { if("+")) { if(answer==numberOne+numberTwo) right=true; else right=false; }

实验三图形用户界面设计(汽院含答案解析)

实验三图形用户界面设计 实验目的 1.掌握Java语言中GUI编程的基本方法 2.掌握Java语言中AWT组件的基本用法 3.掌握Java语言中Swing组件的基本用法 实验导读 1.通过图形用户界面(GUI:Graphics User Interface),用户和程序之间可以方便地 进行交互。 AWT(Abstract Windowing Toolkit),中文译为抽象窗口工具包,是Java提供的用来建立和设置Java的图形用户界面的基本工具。AWT由Java中的java.awt包提供,里面包含了许多可用来建立与平台无关的图形用户界面(GUI)的类,这些类又被称为组件(components)。 Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。 JDK写程序所有功能都是靠虚拟机去操作本地操作系统。比如window下,就是JDK 用windows API实现功能。而awt包中很多组件是组件自身去调用本地操作系统代码swing包中的组件采用的是调用本地虚拟机方法,由虚拟机再调用本地操作系统代码。意思就是中间多了一层,这样就加强了swing包的移植性,与本地关系不那强了。 图3.1 AWT常用组件继承关系图 Container为容器,是一个特殊的组件,该组件中可以通过add方法添加其他组件进来。 2.布局,容器中的组件的排放方式。常见的布局管理器:

FlowLayout(流式布局管理器):从左到右的顺序排列。Panel默认的布局管理器。 BorderLayout(边界布局管理器):东,南,西,北,中。Frame默认的布局管理器。 GridLayout(网格布局管理器):规则的矩阵 CardLayout(卡片布局管理器):选项卡 GridBagLayout(网格包布局管理器):非规则的矩阵 3.类JFrame是java.awt.Frame 的扩展版本,该版本添加了对JFC/Swing 组件架 构的支持,常用方法如下: 1)JFrame() 该构造方法可以创建一个无标题的窗口,窗口的默认布局为 BorderLayout布局。 2)JFrame(String s) 该构造方法可以创建一个标题为s的窗口,窗口的默认布 局为BorderLayout布局。 3)public void setBounds(int a,int b,int width,int height) 窗口调用该方法 可以设置出现在屏幕上时的初始位置是(a,b),即距屏幕左面a个像素、距屏 幕上方b个像素;窗口的宽是width,高是height。 4)public void setSize(int width,int height) 设置窗口的大小,窗口在屏幕出 现是默认位置是(0,0)。 5)public void setVisible(boolean b) 设置窗口是可见还是不可见,窗口默认 是不可见的。 6)public void setResizable(boolean b) 设置窗口是否可调整大小,窗口默认 是可调整大小的。 7)public void setDefaultCloseOperation(int operation) 设置用户在此窗体 上发起"close" 时默认执行的操作。 8)public void setLocationRelativeTo(Component c) 设置窗口相对于指定组 件的位置。如果组件当前未显示,或者c 为null,则此窗口将置于屏幕的 中央。 实验内容 1.图形用户界面设计程序(ArtFont.java) 要求:设计一个文字字体设置窗体,在该窗体中可以设置要显示文字的字体内容,包括字体名称、字体大小、粗体和斜体等字体风格。并模拟在不同操作系统下的显示效果。程序的最终显示效果如下: 提示:整个窗体继承于JFrame,采用BorderLayout布局。在窗体中添加三个JPanel:northPanel、centerPanel和southPanel,分别位于窗体的北部、中部和南部,然后分别在各个面板中添加其它组件,并逐步完善程序功能。

java图形界面GUI基础入门

Compnent package https://www.wendangku.net/doc/9f18871437.html,pnent; import javax.swing.ButtonGroup; import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JRadioButton; import javax.swing.JTextArea; import javax.swing.JTextField; import cn.itcast.util.FrameUtil; /* 非容器组件: */ public class Demo1 { public static void main(String[] args) { JFrame frame= new JFrame("注册"); //创建一个面板 JPanel panel = new JPanel(); frame.add(panel); //用户名

JLabel nameLabel = new JLabel("用户名"); //用户名的输入框 JTextField nameField = new JTextField(12); //把用户名的组件添加到面板上 panel.add(nameLabel); panel.add(nameField); //密码 JLabel passLabel= new JLabel("密码"); //密码框 JPasswordField passField = new JPasswordField(12); //把密码的组件添加到面板 panel.add(passLabel); panel.add(passField); //性别--单选框 JLabel sexLabel = new JLabel("性别"); JRadioButton man = new JRadioButton("男",true); JRadioButton woman = new JRadioButton("女"); //如果是单选框必须要进行分组,同一个组的单选框只能选择其中的一个 ButtonGroup group = new ButtonGroup(); group.add(woman); group.add(man); //把性别组件添加到面板上 panel.add(sexLabel); panel.add(man);

java作业图形用户界面

第一题: import javax.swing.JFrame; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Fahrenheit { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub JFrame frame = new JFrame("Fahrenheit"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); FahrenheitPanel panel = new FahrenheitPanel(); frame.getContentPane().add(panel); frame.pack(); frame.setVisible(true); } } class FahrenheitPanel extends JPanel { private JLabel inputLabel,outputLabel,resultLabel; private JButton OK; private JTextField fahrenheit; public FahrenheitPanel() { inputLabel = new JLabel("Enter Fahrenheit temperature:"); outputLabel = new JLabel("Temperature in Celsius:"); resultLabel = new JLabel("---"); OK = new JButton ("OK!"); fahrenheit = new JTextField(5); fahrenheit.addActionListener(new TempListener()); OK.addActionListener(new TempListener()); add(inputLabel); add(fahrenheit); add(outputLabel); add(resultLabel); add(OK);

实验五 Java图形界面及多线程

实验五图形界面及多线程 【实验目的】 一、掌握Jpanel的使用方法; 二、掌握JAVA简单图形界面的设计; 三、掌握JAVA多线程控制。 【实验内容】 一、在一个Jpanel中显示一个小球,当点击鼠标时,开始移动小球;当小球撞到Jpanel的边框时,小球将反弹回去继续移动。小球用一个线程来控制其移动; 二、每点击一次鼠标,增加一个移动的小球,最多产生20个小球,随机选择小球的颜色; 三、增加功能,当两个小球相撞时,它们将各自反弹。 【实验结果】 //小球类 import java.awt.Color; import java.awt.Point; import java.awt.Rectangle; import java.awt.Shape; import java.awt.geom.Ellipse2D; import java.util.Random; public class Ball { private double x; private double y; private double xR=30; private double yR=30; private double xMove; private double yMove; private Color color; private Ellipse2D shape; private static Random random=new Random(); public Ball(){ color=new Color(random.nextInt(256),random.nextInt(256),random.nextInt(256)); xMove=Math.cos(random.nextDouble()*6.24)*10;

JAVA用户图形界面 模拟裁判评分

Java实验报告 图形用户界面——Swing组件及事件 一、实验目的: ①掌握Java swing组件的使用方法,包括窗口、框架、对话框、面板、文本编辑框、、按钮、组合框等,掌握多种布局方式 ②理解委托时间处理模型,掌握不同组件,不同事件的事件处理方法,设计出能够响应事件的Java图形用户界面 ③掌握文件字符流的使用方法 二、实验名称:模拟裁判评分 三、实验要求:求若干整数的最大值、最小值和平均数。输入若干整数和浮点数,求出最大值和最小值并显示。并能用FileReader和FileWrite进行文本文件的输入输出处理,在面板上有保存进行处理。程序运行界面如下图所示: 要求:使用JTextFiled数组,数值个数可变;响应事件,计算最大值、最小值和平均分忽略空值和空串;按实际元素个数求值;解决除数为零的问题;能用FileReader和FileWrite进行文本文件的输入输出处理。 四、实验内容 package模拟裁判评分; import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; public class Source extends JFrame implements ActionListener

{ private JTextField texts[],text_source; private JButton button; private JButton b1,b2,b3; private JTextField t1,t2; //TextFile afile=new TextFile(""); private int rows,columns; public Source(int rows,int columns ) throws IOException { super("模拟裁判评分"); this.setBounds(300, 240, 650, 200); this.rows=rows; this.columns=columns; this.setBackground(java.awt.Color.lightGray); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.getContentPane().setEnabled(false); JPanel p1=new JPanel(new GridLayout(rows,columns)); this.getContentPane().add(p1); texts=new JTextField[rows*columns]; for(int i=0;i

Java第四单元练习题-图形用户界面

4图形用户界面 4.1单项选择题 1. 如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是() A、(b); B、(b,"NORth"); C、(b,"South"); D、(p,"North"); 2.JPanel的默认布局管理器是()。 A.FlowLayout B.CardLayout C.BorderLayout D.GridLayout 3.容器类的父类是()。 A.B.C.D.哪一个布局管理器使用的是组件的最佳尺寸()A.FlowLayout B.BorderLayout C.GridLayout D.CardLayout 5.关于AWT和Swing说法正确的是()。 A.Swing是AWT的子类B.AWT在不同操作系统中显示相同的风格C.AWT不支持事件模型D.Swing在不同的操作系统中显示相同的风格 6.关于使用Swing的基本规则,下列说法正确的是()。 A.Swing组件可直接添加到顶级容器中B.要尽量使用非Swing的重要级组件C.Swing的JButton不能直接放到JFrame上D.以上说法都对 7.在Java编程中,Swing包中的组件处理事件时,下面()是正确的。 A.Swing包中的组件也是采用事件的委托处理模型来处理事件的 B.Swing包中的组件产生的事件类型,也都带有一个J字母,如JMouseEvent C.Swing包中的组件也可以采用事件的传递处理机制 D.Swing包中的组件所对应的事件适配器也是带有J字母的,如JMouseAdapter 8.能将容器划分为"East"、"South"、"West"、"North"、"Center"五个区域的布局管理器是() A)BorderLayout B)FlowLayout C)GridLayout D)CardLayout 9. 如果有一个对象myListener ( 其中myListener 对象实现了ActionListener 接口), 下列哪条语句使得myListener 对象能够接受处理来自于smallButton

Java图形界面知识讲解

Frame 1.按钮: Frame f =new Frame(“hello”); f.setSize(200,200); f.setVisible(true);//让其显示 Panel p=new Panel(); f.add(p); Button b= new Button(“确定”); p.add(b); Button对象构造器的参数是按钮上显示的内容 2.复选框 Checkbox c1=new Checkbox(“汉堡”,true); Checkbox c2= new Checkbox(“薯条”,true); p.add(c1); p.add(c2); 注:构造器中第一个参数代表复选框显示的内容,第二个参数true代表该项默认选中 3.单选项 先创建一个CheckboxGroup对象: CheckboxGroup g=new CheckboxGroup(); 将g作为参数传递到各个单选按钮,在这一组单选按钮中,用户只能选一个: Checkbox ch1=new Checkbox(“人民币”,g,true); Checkbox ch2=new Checkbox(“美金”,g,false); p.add(ch1); p.add(ch2); 4.下拉列表框 先创建Choice对象: Choice c=new Choice(); 利用addItem()方法添加各种选项 c.addItem(“男”); c.addItem(“女”); p.add(c); 5.列表框 先创建List对象,第一个参数指定显示几行,第二个参数为true则支持多选,false则一次只能选中一个: List t=new List(4,true); 利用add方法添加各种文本选项: t.add(“今天”); t.add(“昨天”); p.add(t); 6.在窗口显示对话框 Frame f=new Frame(“hello”); 对话框与某个Frame对象关联,但不是放在Frame中。第二个参数为对话框标题栏的内容。第三个参数为true代表用户处理玩对话框后才可以和Frame进行交互,flase则代表用户可以同时和Frame交互:

java实验报告实验六Java图形用户界面.docx

信息工程学院1 JaVa程序设计实习报告 JAVA图形用户界面 实验六JaVa图形用户界面 1. 实验目的 (1)掌握图形用户界面基本组件。 (2)了解如何使用布局管理器对组件进行管理。 (3)掌握JaVa事件处理机制。 2. 实验内容 实验题1编写一个模拟计算器的程序,使用面板和网格布局,添加一个文本框, 10个数字按钮(0-9) , 4个加减乘除按钮,一个等号按钮,一个清除按钮,要求将计算公式和结果显示在文本框中。 运行结果: _?小程序亘看器:PaClCageI.Calculator.class I 实验报告的内容与格式按任课教师的要求书写。

加法: 主要代码: PriVate Void in itComp Onen ts() { jButt on1 = :new javax.swing.JButton(); jButt on2 = :new javax.swing.JButton(); jButt on3 = :new javax.swing.JButton(); jButt on4 = :new javax.swing.JButton(); jButt on5 = :new javax.swing.JButton(); jButt on6 = :new javax.swing.JButton(); jButt on7 = :new javax.swing.JButton(); jButt on8 = :new javax.swing.JButton(); jButt on9 = :new javax.swing.JButton(); jButto n10 =new javax.swing.JButton(); jButto n11 =new javax.swing.JButton(); jButto n12 =new javax.swing.JButton(); jButto n13 =new javax.swing.JButton(); jButto n14 =new javax.swing.JButton(); jButto n15 =new javax.swing.JButton(); jTextField1 =new javax.swing.JTextField(); SetStUb( null ); jButton1 .setText( "3" ); jButton1 .addActionListener( new java.awt.event.ActionListener() {

相关文档
相关文档 最新文档