「javaawt例子」javaawt包

博主:adminadmin 2022-12-25 01:48:06 80

本篇文章给大家谈谈javaawt例子,以及javaawt包对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

求一个java的awt程序类似管理系统要带数据库例子

你看看这个怎么样,一个员工管理系统

打不开是什么意思?你类名写的对吗--》Lei

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.io.*;

import java.util.*;

public class Lei

{

public static void main(String args[])

{

new ManagerWindow();

}

}

/////////////////////////////////////////////////////////////////////////////////////////

class Worker implements java.io.Serializable

{

String num,name,tel,ads;

public void setNum(String num)

{

this.num=num;

}

public String getNum()

{

return num;

}

public void setName(String name)

{

this.name=name;

}

public String getName()

{

return name;

}

public void setTel(String tel)

{

this.tel=tel;

}

public String getTel()

{

return tel;

}

public void setAds(String ads)

{

this.ads=ads;

}

public String getAds()

{

return ads;

}

}

///////////////////////////////////////////////////////////////////////////////////////

class ManagerWindow extends Frame implements ActionListener

{

InputWorker 基本信息录入=null;

Inquest 基本信息查找=null;

Button 查找,退出;

Hashtable 基本信息=null;

MenuBar bar;

Menu help;

MenuItem 帮助主题,关于;

File file=null;

public ManagerWindow()

{

setTitle("职工档案管理系统");

bar=new MenuBar();

help=new Menu(" 帮 助 ");

帮助主题=new MenuItem("帮助主题");

关于=new MenuItem(" 关 于 ");

help.add(帮助主题);

help.add(关于);

bar.add(help);

bar.setFont(new java.awt.Font("Serif",1,15));

setMenuBar(bar);

基本信息=new Hashtable();

//帮助主题.addActionListener(this);

//关于.addActionListener(this);

查找=new Button(" 查 找 ");

退出=new Button(" 退 出 ");

查找.addActionListener(this);

file=new File("基本信息.txt");

if(!file.exists())

{

try

{

FileOutputStream out=new FileOutputStream(file);

ObjectOutputStream objectOut=new ObjectOutputStream(out);

objectOut.writeObject(基本信息);

objectOut.close();

out.close();

}

catch(IOException e){}

}

基本信息录入=new InputWorker(file);

基本信息查找=new Inquest(this,file);

setLayout(new FlowLayout());

setBackground(Color.cyan);

add(基本信息录入);

add(查找);

add(退出);

退出.addActionListener(this);

查找.setFont(new java.awt.Font("Serif",1,50));

查找.setBackground(Color.green);

退出.setFont(new java.awt.Font("Serif",1,50));

退出.setBackground(Color.red);

addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

} );

setVisible(true);

setBounds(100,50,700,500);

validate();

}

public void actionPerformed(ActionEvent e)

{

if(e.getSource()==退出)

System.exit(0);

基本信息查找.setVisible(true);

}

}

////////////////////////////////////////////////////////////////////////////////////////

class InputWorker extends Panel implements ActionListener

{

Hashtable 基本信息表=null;

TextField 工号,姓名,电话,地址;

Worker 职工=null;

Button 录入;

FileInputStream inOne=null;

ObjectInputStream inTwo=null;

FileOutputStream outOne=null;

ObjectOutputStream outTwo=null;

File file=null;

public InputWorker(File file)

{

this.file=file;

工号=new TextField(20);

姓名=new TextField(20);

电话=new TextField(20);

地址=new TextField(20);

录入=new Button(" 录 入 ");

录入.addActionListener(this);

setLayout(new GridLayout(0,2,0,20));

add(new Label("请输入工号:"));

add(工号);

工号.setBackground(Color.pink);

add(new Label("请输入姓名:"));

add(姓名);

姓名.setBackground(Color.pink);

add(new Label("请输入电话:"));

add(电话);

电话.setBackground(Color.pink);

add(new Label("请输入地址:"));

add(地址);

地址.setBackground(Color.pink);

add(new Label("请点击录入:"));

add(录入);

setFont(new java.awt.Font("Serif",3,30));

validate();

}

public void actionPerformed(ActionEvent e)

{

if(e.getSource()==录入)

{

String num="";

num=工号.getText();

if(num.length()0)

{

try

{

inOne=new FileInputStream(file);

inTwo=new ObjectInputStream(inOne);

基本信息表=(Hashtable)inTwo.readObject();

inOne.close();

inTwo.close();

}

catch(Exception ee) {}

if(基本信息表.containsKey(num))

{

String m="信息已存在,新的信息将覆盖原信息!";

int ok=JOptionPane.showConfirmDialog(this,m,"确认",

JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE);

if(ok==JOptionPane.YES_OPTION)

{

record(num);

}

}

else

{

record(num);

}

}

else

{

String warning="必须要输入工号!";

JOptionPane.showMessageDialog(this,warning,"警告",

JOptionPane.WARNING_MESSAGE);

}

}

}

public void record(String num)

{

String name=姓名.getText();

String tel=电话.getText();

String ads=地址.getText();

职工=new Worker();

职工.setNum(num);

职工.setName(name);

职工.setTel(tel);

职工.setAds(ads);

try

{

outOne=new FileOutputStream(file);

outTwo=new ObjectOutputStream(outOne);

基本信息表.put(num,职工);

outTwo.writeObject(基本信息表);

outTwo.close();

outOne.close();

工号.setText(null);

姓名.setText(null);

电话.setText(null);

地址.setText(null);

}

catch(Exception ee) {}

}

}

////////////////////////////////////////////////////////////////////////////////////////

class Inquest extends Dialog implements ActionListener

{

TextField 工号,姓名,电话,地址;

String num;

Hashtable 基本信息表=null;

TextField 工号或姓名,要删除的工号;

Button 按工号查找,按姓名查找,查找全部,删除,按工号排序;

TextArea show=new TextArea(10,80);

FileInputStream inOne=null;

ObjectInputStream inTwo=null;

File file=null;

public Inquest(Frame f,File file)

{

super(f,"查找对话框",false);

setLayout(new GridLayout(2,1));

Panel p1=new Panel();

p1.setLayout(new FlowLayout(FlowLayout.CENTER,150,10));

this.file=file;

工号或姓名=new TextField(10);

要删除的工号=new TextField(10);

删除=new Button(" 删 除 ");

按工号查找=new Button("按工号查找");

按姓名查找=new Button("按姓名查找");

按工号查找.addActionListener(this);

按姓名查找.addActionListener(this);

按工号查找.addActionListener(this);

查找全部=new Button("查找全部");

按工号排序=new Button("按工号排序");

查找全部.addActionListener(this);

删除.addActionListener(this);

p1.add(new Label("输入要查找的工号或姓名:"));

p1.add(工号或姓名);

工号或姓名.setBackground(Color.cyan);

p1.add(按工号查找);

p1.add(按姓名查找);

p1.add(new Label("输入要删除的工号:"));

p1.add(要删除的工号);

要删除的工号.setBackground(Color.cyan);

p1.add(查找全部);

p1.add(删除);

p1.add(按工号排序);

p1.setBackground(Color.pink);

p1.setFont(new java.awt.Font("Serif",1,30));

Panel p2=new Panel();

p2.add(show);

p2.setBackground(Color.green);

show.setBackground(Color.cyan);

add(p1);

add(p2);

setFont(new java.awt.Font("Serif",1,20));

setBounds(100,100,900,600);

addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

setVisible(false);

}

} );

}

public void actionPerformed(ActionEvent e)

{

show.setText(null);

readHashtable();

if(e.getSource()==按工号查找)

{

String num="";

num=工号或姓名.getText();

if(num.length()0)

{

if(基本信息表.containsKey(num))

{

Worker wor=(Worker)基本信息表.get(num);

show.setText("工号:"+wor.getNum()+"\t姓名:"+wor.getName()+"\t电话:"

+wor.getTel()+"\t 地址:"+wor.getAds()+"\n");

}

else

{

String warning="该工号不存在!";

JOptionPane.showMessageDialog(this,warning,"警告",

JOptionPane.WARNING_MESSAGE);

}

}

else

{

String warning="必须要输入工号!";

JOptionPane.showMessageDialog(this,warning,"警告",

JOptionPane.WARNING_MESSAGE);

}

}

else if(e.getSource()==按姓名查找)

{

String name="";

name=工号或姓名.getText();

if(name.length()0)

{

if(基本信息表.containsKey(name))

{

Worker wor=(Worker)基本信息表.get(name);

show.setText("工号:"+wor.getNum()+"\t姓名:"+wor.getName()+"\t电话:"

+wor.getTel()+"\t 地址:"+wor.getAds()+"\n");

}

else

{

String warning="该姓名不存在!";

JOptionPane.showMessageDialog(this,warning,"警告",

JOptionPane.WARNING_MESSAGE);

}

}

else

{

String warning="必须要输入姓名!";

JOptionPane.showMessageDialog(this,warning,"警告",

JOptionPane.WARNING_MESSAGE);

}

}

if(e.getSource()==查找全部)

{

int i=1;

Enumeration em=基本信息表.elements();

while(em.hasMoreElements())

{

Worker wor=(Worker)em.nextElement();

show.append(i+"、"+"工号:"+wor.getNum()+"\t姓名:"+wor.getName()+"\t电话:"

+wor.getTel()+"\t 地址:"+wor.getAds()+"\n");

i++;

}

}

else if(e.getSource()==删除)

{

String num=要删除的工号.getText();

if(num.length()0)

{

if(基本信息表.containsKey(num))

{

Worker wor=(Worker)基本信息表.get(num);

show.setText("工号:"+wor.getNum()+"\t姓名:"+wor.getName()+"\t电话:"

+wor.getTel()+"\t 地址:"+wor.getAds()+"\n");

}

try

{

inOne=new FileInputStream(file);

inTwo=new ObjectInputStream(inOne);

基本信息表=(Hashtable)inTwo.readObject();

inOne.close();

}

catch(Exception ee) {}

if(基本信息表.containsKey(num))

{

String m="你想要删除该职工的信息吗?";

int ok=JOptionPane.showConfirmDialog(this,m,"确定",

JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE);

if(ok==JOptionPane.YES_OPTION)

{

要删除的工号.setText(null);

show.setText(null);

基本信息表.remove(num);

FileOutputStream outOne;

try

{

outOne=new FileOutputStream(file);

ObjectOutputStream outTwo=new ObjectOutputStream(outOne);

outTwo.writeObject(基本信息表);

outTwo.close();

}

catch(IOException e1) {}

}

}

else

{

String warning="没有该工号";

JOptionPane.showMessageDialog(this,warning,"警告",

JOptionPane.WARNING_MESSAGE);

}

}

else

{

String warning="必须要输入工号!";

JOptionPane.showMessageDialog(this,warning,"警告",

JOptionPane.WARNING_MESSAGE);

}

}

}

public void readHashtable()

{

try

{

inOne=new FileInputStream(file);

inTwo=new ObjectInputStream(inOne);

基本信息表=(Hashtable)inTwo.readObject();

inOne.close();

inTwo.close();

}

catch(Exception ee) {}

}

}

/////////////////////////////////////////////////////////////////////////////////

/*class Help extends Dialog

{

public Help(Frame f)

{

super(f,"帮助对话框",false);

TextArea txt=new TextArea(15,10);

txt.setForeground(Color.red);

txt.setFont(new java.awt.Font("Serif",1,30));

txt.setText("本系统最终解释权归\n新疆大学\n科学技术学院\n通信06-1班\n雷建平同学。\n翻版必究!");

setBounds(100,200,500,500);

add(txt);

addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

setVisible(false);

}

} );

}

}*/

怎么实例化java.awt.Graphics

假如你想在某个JPanel上画图,可以这样写:

private JPanel canvas;//画布

private Graphics2D pen;//绘图工具

private void init(){

canvas = new JPanel();

//以下是画一个白色棋子

pen = (Graphics2D)canvas.getGraphics();

pen.setColor(new Color(230,230,230));

pen.fillRoundRect(dx-35, dy-35, 30, 30, 30, 30);

//或者你也可以重写JPanel的paint方法,以下是对JPanel绘制一个棋盘

// canvas = new JPanel(){

// @Override

// public void paint(Graphics g) {

// // TODO Auto-generated method stub

// super.paint(g);

// Graphics2D pen = (Graphics2D)g;

// pen.setColor(new Color(235,215,195));

// pen.fillRect(0, 10, 650, 640);

// pen.setColor(Color.darkGray);

// pen.setStroke(new BasicStroke(4));

// pen.drawLine(0, 10, 980, 10);

// pen.setStroke(new BasicStroke(2));

// for(int i=0;i=600;i+=40)

// pen.drawLine(30, 30+i, 630, 30+i);

// for(int j=0;j=600;j+=40)

// pen.drawLine(30+j, 30, 30+j, 630);

// }

// };

// }

自己一个一个敲的,很辛苦的哦 ^ _ ^ 希望对你有帮助,不懂可以追问,我尽力

谁能给我仔细讲解一下JAVA中的AWT和SWING的区别啊,最好举些例子啊!!!

SWING与AWT小应用程序的区别

也许你以前使用过AWT进行图形用户界面(GUI)的设计,感觉如何呢?现在JAVA2提供了Swing包,向大家展示了更丰富的功能,使用它设计的界面会更友好,现在我们就来看一下。

以前你设计小应用程序会扩展Applet(java.applet.Applet);现在为了使用Swing包,你要扩展JApplet(javax.swing.JApplet)让我们先来看一个扩展JApplet小应用程序的实例,然后再分析二者的区别。

程序源代吗如下:(JAppletTest.java)

import javax.swing.*;

import java.awt.*;

import java.event.*;

public class JAppletTest extends JApplet {

public void init() {

Container contentPane = getContentPane();

Icon icon = new ImageIcon("swing.gif", "A GIF on a swing");

JLabel label = new JLabel("Swing!", icon, SwingConstants.CENTER);

contentPane.add(label, BorderLayout.CENTER);

}

}

有几点需要注意:

1、程序的最后一行不是必须的,因为JApplet类使用BorderLayout的一个实例做为其内容窗格的布局管理器,而BorderLayout的缺省约束条件是BorderLayout.CENTER,所以程序的最后一行不是必须的。

2、Applet的缺省的布局管理器是FlowLayout,而FlowLayout的缺省约束条件是FlowLayout.LEFT,这是二者最显著的区别之一。

3、JApplet是只包含一个组件的容器,这个组件就是JRootPane的一个实例,而JRootPane包含了一个称作内容窗格的容器。

4、“内容窗格”,它包含与特定的小应用程序有关的所有内容。即是说,小应用程序必须把所有的组件添加到内容窗格中,而不是把它们直接添加到小应用程序中。 5、我们不应该直接为小应用程序设置布局管理器。

6、JApplet的实例可以有一个菜单栏,它是由setJMenuBar方法指定的,而AWT小应用程序却不能。

怎么编写java程序实现图片的移动(最好有例子)

import java.awt.Color;

import java.awt.Graphics;

import java.awt.Image;

import java.awt.event.KeyAdapter;

import java.awt.event.KeyEvent;

import javax.swing.JFrame;

public class DrawTest extends JFrame {

private int x = 50;

private int y = 50;

private Image offScreenImage = null;

@Override

public void paint(Graphics g) {

Color c = g.getColor();

g.setColor(Color.BLACK);

g.fillOval(x, y, 30, 30);

g.setColor(c);

}

public void update(Graphics g) {

if (offScreenImage == null) {

offScreenImage = this.createImage(500, 500);

}

Graphics gOffScreen = offScreenImage.getGraphics();

Color c = gOffScreen.getColor();

gOffScreen.setColor(Color.GREEN);

gOffScreen.fillRect(0, 0, 500, 500);

gOffScreen.setColor(c);

paint(gOffScreen);

g.drawImage(offScreenImage, 0, 0, null);

}

public static void main(String[] args) {

DrawTest d = new DrawTest();

}

public DrawTest() {

init();

addKeyListener(new KeyAdapter() {

public void keyPressed(final KeyEvent e) {

int code = e.getKeyCode();

switch (code) {

case KeyEvent.VK_UP:

y -= 5;

break;

case KeyEvent.VK_RIGHT:

x += 5;

break;

case KeyEvent.VK_DOWN:

y += 5;

break;

case KeyEvent.VK_LEFT:

x -= 5;

break;

}

}

});

}

public void init() {

this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);

this.setBackground(Color.GREEN);

this.setResizable(false);

this.setBounds(140, 140, 500, 500);

this.setVisible(true);

MyThread mt = new MyThread();

new Thread(mt).start();

}

class MyThread implements Runnable {

public void run() {

while (true) {

repaint();

try {

Thread.sleep(100);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

}

}

以上

javaawt例子的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于javaawt包、javaawt例子的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-25,除非注明,否则均为首码项目网原创文章,转载请注明出处。