「javaawt例子」javaawt包
本篇文章给大家谈谈javaawt例子,以及javaawt包对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、求一个java的awt程序类似管理系统要带数据库例子
- 2、怎么实例化java.awt.Graphics
- 3、谁能给我仔细讲解一下JAVA中的AWT和SWING的区别啊,最好举些例子啊!!!
- 4、怎么编写java程序实现图片的移动(最好有例子)
求一个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例子的信息别忘了在本站进行查找喔。
发布于:2022-12-25,除非注明,否则均为
原创文章,转载请注明出处。