下面是我以前做的小程序,希望能给你点帮助!
package menu;
import javaawt;
import javaawtevent;
import javaxswing;
public class DaYin extends JFrame implements ActionListener{
public DaYin() {
Container c=thisgetContentPane();
csetLayout(new BorderLayout());
JMenuBar jmb=new JMenuBar();
JMenu jm=null;
jm=new JMenu("文件");
jmbadd(jm);
jm=new JMenu("编辑");
jmbadd(jm);
jm=new JMenu("打印");
JMenuItem jmi=new JMenuItem("打印预览");
jmiaddActionListener(this);
jmadd(jmi);
jmbadd(jm);
jm=new JMenu("帮助");
jmbadd(jm);
thissetJMenuBar(jmb);
thissetSize(1024,768);
thissetVisible(true);
thisaddWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
Systemexit(0);
}
});
}
public static void main(String[] args) {
new DaYin();
}
public void update(Graphics g){
gsetColor(Colorblack);
String title[]={"摘要","科目","子目或户名","借方金额","贷方金额"};
String danwei[]={"千","百","十","万","千","百","十","元","角","分"};
int csx=200;//打印x的初始坐标
int csy=200;//打印y的初始坐标
int x=csx;
int y=csy;
int a=x+20;//打印字体x的初始坐标
int b=y+20;//打印字体y的初始坐标
int row=7;//一共打印出几条横线
int cul=5;//一共打印出几条竖线
int hangju=30;//线与线之间的纵向间距
int lieju=100;//线与线之间的横向间距
int yy=hangjurow+y;
int c=yy+20;
gsetFont(new Font("行楷",FontTYPE1_FONT,24));
gdrawString("记 账 凭 证", x+160, y-40);//打印出记账凭证这几个字
gdrawLine(x+100, y-30, x+340, y-30);//打印出记账凭证下面的那条线
gsetFont(new Font("行楷",FontTYPE1_FONT,13));
gdrawString("年 月 日 第_______号", x+260, y-10);
//gdrawLine(x+430, y-10, x+470, y-10);
for(int i=0;i<=row;i++){
gdrawLine(x, y, cullieju+x+25, y);//此循环用于画出表格的行
if(i==0)
y+=hangju2;
else
y+=hangju;
}
y=csy;
gdrawLine(x+lieju3, y+hangju, cullieju+x, y+hangju);//打印出第一行半的横线
for(int j=0;j<=cul;j++){
gdrawLine(x, y, x, rowhangju+y);//此循环用于画出表格的列
x+=lieju;
}
x=csx;
for(int z=0;z<cul;z++){
gsetColor(Colorred);//设置颜色
gsetFont(new Font("",FontTYPE1_FONT,13));//设置表头字体
if(z<3)
gdrawString(title[z], a, b+hangju/2);
else
gdrawString(title[z], a, b);//为表格添加表头
a+=lieju;
}//76-89打印出一个表格形状
int xx=lieju3+x+10;
for(int v=0;v<=9;v++){
gdrawLine(xx, y+hangju, xx, rowhangju+y+hangju);//此循环用于画出表格的列
gsetFont(new Font("",FontTYPE1_FONT,11));
gdrawString(danwei[v], xx-10, y+hangju+20);//为表格添加表头
if(v%2==0)
gsetColor(Colorred);//设置颜色
else
gsetColor(ColorBLUE);//设置颜色
xx+=10;
}
for(int n=0;n<9;n++){
gdrawLine(xx, y+hangju, xx, rowhangju+y+hangju);//此循环用于画出表格的列
gdrawString(danwei[n],xx-10, y+hangju+20);//为表格添加表头
if(n%2==0)
gsetColor(Colorred);//设置颜色
else
gsetColor(ColorBLUE);//设置颜色
xx+=10;
}
gdrawString(danwei[9],xx-10, y+hangju+20);
gsetColor(Colorblack);//设置颜色
for(int i=0;i<=1;i++){
gdrawLine(x,yy , cullieju+x, yy);//此循环用于画出表格的行
yy+=hangju;
}
yy=hangjurow+y;
for(int j=0;j<=3;j++){
gdrawLine(x, yy, x, (row+1)hangju+y);//此循环用于画出表格的列
if(j>0){
x+=lieju;
}else{
x+=lieju3;
}
}//112-128打印出表格的最后一行单元格
x=csx;
gsetFont(new Font("",FontTYPE1_FONT,13));
gdrawString("合 计",x+60, c);
gdrawString("会计主管 记账 出纳 审核 制证", x+30, yy+50);
gdrawLine(cullieju+x+25, y, cullieju+x+25, (row+1)hangju+y);//打印出最后一列
gdrawString("记",cullieju+x+6, y+15);
gdrawString("账", cullieju+x+6, y+35);
gdrawString("√", cullieju+x+6, y+55);//134-136为最后一列写入字体
gdrawString("附",cullieju+x+35, y+75);
gdrawString("件", cullieju+x+35, y+95);
gdrawString("张", cullieju+x+35, y+175);//134-136为最后一列后写入字体
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(egetActionCommand()equals("打印预览")){
thisrepaint();
}
}
}
使用drawLine()做了一个记账凭证。
执行点击"打印"子菜单"打印预览"就可显示出我们所画的"记账凭证表"
希望这个小程序能够给你点灵感
import javaawtFlowLayout;
import javaawteventActionEvent;
import javaawteventActionListener;
import javaxswingJButton;
import javaxswingJFrame;
import javaxswingJLabel;
import javaxswingJOptionPane;
import javaxswingJPasswordField;
import javaxswingJTextField;
public class Login {
public static void main(String args[]) {
LoginFrm frame = new LoginFrm();
}
}
class LoginFrm extends JFrame implements ActionListener{
JLabel nameLabel=new JLabel("用户名:");
JLabel pwdLabel=new JLabel("密码:");
JTextField name=new JTextField(10);
JPasswordField password=new JPasswordField(10);
JButton butnSure=new JButton("确定");
JButton butnCancel=new JButton("取消");
public LoginFrm() {
super("登陆");
setBounds(500, 200, 280, 220);
setVisible(true);
setLayout(null);
nameLabelsetBounds(45, 20, 100, 25);
add(nameLabel);
add(name);
namesetBounds(105, 20, 110, 25);
add(pwdLabel);
pwdLabelsetBounds(45, 60, 100, 25);
add(password);
passwordsetBounds(105, 60, 110, 25);
add(butnSure);
butnSuresetBounds(45, 100, 80, 25);
add(butnCancel);
butnCancelsetBounds(135, 100, 80, 25);
butnSureaddActionListener(this);
butnCanceladdActionListener(this);
setDefaultCloseOperation(JFrameEXIT_ON_CLOSE);
validate();//刷新
}
public void actionPerformed(ActionEvent e) {
if (egetSource() ==butnSure){
Systemoutprintln("用户名:"+namegetText());
Systemoutprintln("密码:"+namegetText());
if("admin"equals(namegetText()trim())&&"123"equals(passwordgetText()trim())){
thisdispose();
new MainFrm("用户界面",namegetText()trim(),passwordgetText()trim());
}else {
JOptionPaneshowMessageDialog(this, "用户不存在");
}
}else if(egetSource()==butnCancel){
Systemexit(1);
}
}
class MainFrm extends JFrame{
private JLabel info;
public MainFrm(String s,String name,String password) {
super(s);
setBounds(400, 200, 500, 400);
setLayout(new FlowLayout());
info=new JLabel("登陆成功,用户名:"+name+",密码:"+password);
add(info);
setVisible(true);
setDefaultCloseOperation(JFrameEXIT_ON_CLOSE);
validate();
}
}
}
楼上的,这是用JavaScript来做的,而不是用java!!
建一个文件名叫:clockhtml,里面代码如下:
<html>
<head>
<title>js做的时钟</title>
<SCRIPT type="text/javascript" >
<!--
Dateprototypeformat = function(mask) {
var d = this;
var zeroize = function (value, length) {
if (!length) length = 2;
value = String(value);
for (var i = 0, zeros = ''; i < (length - valuelength); i++) {
zeros += '0';
}
return zeros + value;
};
return maskreplace(/"[^"]"|'[^']'|\b(:d{1,4}|m{1,4}|yy(:yy)|([hHMstT])\1|[lLZ])\b/g, function($0) {
switch($0) {
case 'd': return dgetDate();
case 'dd': return zeroize(dgetDate());
case 'ddd': return ['Sun','Mon','Tue','Wed','Thr','Fri','Sat'][dgetDay()];
case 'dddd': return ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'][dgetDay()];
case 'M': return dgetMonth() + 1;
case 'MM': return zeroize(dgetMonth() + 1);
case 'MMM': return ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'][dgetMonth()];
case 'MMMM': return ['January','February','March','April','May','June','July','August','September','October','November','December'][dgetMonth()];
case 'yy': return String(dgetFullYear())substr(2);
case 'yyyy': return dgetFullYear();
case 'h': return dgetHours() % 12 || 12;
case 'hh': return zeroize(dgetHours() % 12 || 12);
case 'H': return dgetHours();
case 'HH': return zeroize(dgetHours());
case 'm': return dgetMinutes();
case 'mm': return zeroize(dgetMinutes());
case 's': return dgetSeconds();
case 'ss': return zeroize(dgetSeconds());
case 'l': return zeroize(dgetMilliseconds(), 3);
case 'L': var m = dgetMilliseconds();
if (m > 99) m = Mathround(m / 10);
return zeroize(m);
case 'tt': return dgetHours() < 12 'am' : 'pm';
case 'TT': return dgetHours() < 12 'AM' : 'PM';
case 'Z': return dtoUTCString()match(/[A-Z]+$/);
// Return quoted strings with the surrounding quotes removed
default: return $0substr(1, $0length - 2);
}
});
};
function refreshCalendarClock(){
documentallcalendarClock4innerHTML = new Date()format("yyyy年MM月dd日 HH:mm:ss");
}
var going = true;
function oprationClock(obj) {
if(obj) {
refreshCalendarClock();
setTimeout("oprationClock(going)",1000)
if(!going) going=true;
return;
}
going = false;
}
// -->
</SCRIPT>
</head>
<body onLoad="oprationClock(true)">
<h1>用js做的时钟:</h1>
<hr />
<font color="green"><h2 id="calendarClock4"> </h2></font>
时钟开关:<input type="radio" name="opration" value="1" onClick="oprationClock(this)" checked/>开
<input type="radio" name="opration" onClick="oprationClock(false)" />关
</body>
</html>
效果图,另外有个更有趣的时钟,像闹钟一样的,见参考资料
贪吃蛇游戏 望采纳
import javaawtButton;
import javaawtColor;
import javaawtGridLayout;
import javaawtPoint;
import javaawteventKeyEvent;
import javaawteventKeyListener;
import javautil;
import javaxswingJFrame;
import javaxswingJOptionPane;
public class Snake extends JFrame implements KeyListener{
int Count=0;
Button[][] grid = new Button[20][20];
ArrayList<Point> snake_list=new ArrayList<Point>();
Point bean=new Point(-1,-1);//保存随机豆子坐标
int Direction = 1; //方向标志 1:上 2:下 3:左 4:右
//构造方法
public Snake()
{
//窗体初始化
thissetBounds(400,300,390,395);
thissetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);
GridLayout f=new GridLayout(20,20);
thisgetContentPane()setBackground(Colorgray);
thissetLayout(f);
//初始化2020个按钮
for(int i=0;i<20;i++)
for(int j=0;j<20;j++)
{
grid[i][j]=new Button();
thisadd(grid[i][j]);
grid[i][j]setVisible(false);
grid[i][j]addKeyListener(this);
grid[i][j]setBackground(Colorblue);
}
//蛇体初始化
grid[10][10]setVisible(true);
grid[11][10]setVisible(true);
grid[12][10]setVisible(true);
grid[13][10]setVisible(true);
grid[14][10]setVisible(true);
//在动态数组中保存蛇体按钮坐标行列信息
snake_listadd(new Point(10,10));
snake_listadd(new Point(11,10));
snake_listadd(new Point(12,10));
snake_listadd(new Point(13,10));
snake_listadd(new Point(14,10));
thisrand_bean();
thissetTitle("总分:0");
thissetVisible(true);
}
//该方法随机一个豆子,且不在蛇体上,并使豆子可见
public void rand_bean(){
Random rd=new Random();
do{
beanx=rdnextInt(20);//行
beany=rdnextInt(20);//列
}while(snake_listcontains(bean));
grid[beanx][beany]setVisible(true);
grid[beanx][beany]setBackground(Colorred);
}
//判断拟增蛇头是否与自身有碰撞
public boolean is_cross(Point p){
boolean Flag=false;
for(int i=0;i<snake_listsize();i++){
if(pequals(snake_listget(i) )){
Flag=true;break;
}
}
return Flag;
}
//判断蛇即将前进位置是否有豆子,有返回true,无返回false
public boolean isHaveBean(){
boolean Flag=false;
int x=snake_listget(0)x;
int y=snake_listget(0)y;
Point p=null;
if(Direction==1)p=new Point(x-1,y);
if(Direction==2)p=new Point(x+1,y);
if(Direction==3)p=new Point(x,y-1);
if(Direction==4)p=new Point(x,y+1);
if(beanequals(p))Flag=true;
return Flag;
}
//前进一格
public void snake_move(){
if(isHaveBean()==true){//////////////有豆子吃
Point p=new Point(beanx,beany);//很重要,保证吃掉的是豆子的复制对象
snake_listadd(0,p); //吃豆子
grid[px][py]setBackground(Colorblue);
thisCount++;
thissetTitle("总分:"+Count);
thisrand_bean(); //再产生一个豆子
}else{///////////////////无豆子吃
//取原蛇头坐标
int x=snake_listget(0)x;
int y=snake_listget(0)y;
//根据蛇头坐标推算出拟新增蛇头坐标
Point p=null;
if(Direction==1)p=new Point(x-1,y);//计算出向上的新坐标
if(Direction==2)p=new Point(x+1,y);//计算出向下的新坐标
if(Direction==3)p=new Point(x,y-1);//计算出向左的新坐标
if(Direction==4)p=new Point(x,y+1);//计算出向右的新坐标
//若拟新增蛇头碰壁,或缠绕则游戏结束
if(px<0||px>19|| py<0||py>19||is_cross(p)==true){
JOptionPaneshowMessageDialog(null, "游戏结束!");
Systemexit(0);
}
//向蛇体增加新的蛇头坐标,并使新蛇头可见
snake_listadd(0,p);
grid[px][py]setVisible(true);
//删除原蛇尾坐标,使蛇尾不可见
int x1=snake_listget(snake_listsize()-1)x;
int y1=snake_listget(snake_listsize()-1)y;
grid[x1][y1]setVisible(false);
snake_listremove(snake_listsize()-1);
}
}
@Override
public void keyPressed(KeyEvent e) {
if(egetKeyCode()==KeyEventVK_UP && Direction!=2) Direction=1;
if(egetKeyCode()==KeyEventVK_DOWN && Direction!=1) Direction=2;
if(egetKeyCode()==KeyEventVK_LEFT && Direction!=4) Direction=3;
if(egetKeyCode()==KeyEventVK_RIGHT && Direction!=3) Direction=4;
}
@Override
public void keyReleased(KeyEvent e) { }
@Override
public void keyTyped(KeyEvent e) { }
public static void main(String[] args) throws InterruptedException {
Snake win=new Snake();
while(true){
winsnake_move();
Threadsleep(300);
}
}
}
import javaawt;
import javaawtevent;
import javaapplet;
public class Try extends Applet implements ActionListener
{
public void init()
{
Button b=new Button("请按按钮");
baddActionListener(this);
add(b);
}
public void actionPerformed(ActionEvent e)
{
Frame f=new Frame("警告");
fsetSize(200,100);
fsetLocation(300,300);
fadd(new Label("你按了按钮!"));
fsetVisible(true);
}
}
以上就是关于用Java一个简单的画图程序全部的内容,包括:用Java一个简单的画图程序、求编写一个超级简单的Java的程序源代码、很简单的java程序制作等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)