java 图形界面源码_求一个,java图形化界面的源码

展开全部

自己写的石头剪子布代码,e68a843231313335323631343130323136353331333332633631有图形界面,可以把自己选中的图片命名为.jpg放到工程目录下做背景图片。 package HomeWork;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.io.*;

import java.util.*;

public class StoneShearsSack { /**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

new StoneWindow("Sample Game");

}

}

final class StoneWindow extends JFrame implements ActionListener,ItemListener{

JLabel win,draw,lose,score,count;

JTextArea text;

JComboBox list;

JButton fight,clear;

int swin,sdraw,slose,sscore;

JPanel panel1 = new JPanel();

JPanel panel2 = new JPanel();

String str1,str2,str3;

Random rdm = new Random();

int flag,random ,flag1, count1;

//final ImageIcon con = new ImageIcon("a.jpg") ;

public StoneWindow(String s){

setTitle("Sample Game");

fight = new JButton("出招");

clear = new JButton("清除分数");

//final ImageIcon con = new ImageIcon("b.jpg") ;

text = new JTextArea(){

final ImageIcon con = new ImageIcon("a.jpg");

Image mg = con.getImage();

{setOpaque(false);}

public void paintComponent(Graphics g){

g.drawImage(mg, 0, 0, this);

super.paintComponent(g);

}

};

text.setForeground(Color.black);

Font f = new Font("华文行楷",Font.BOLD,50);

text.setFont(f);

list = new JComboBox();

list.addItem("石头");

list.addItem("剪子");

list.addItem("布");

panel2.setBackground(Color.blue);

panel2.add(list);

panel2.add(fight);

panel2.add(clear);

panel2.setPreferredSize(new Dimension(900,50));

list.addItemListener(this);

fight.addActionListener(this);

clear.addActionListener(this);

win = new JLabel("赢:" + swin);

draw = new JLabel(" 和:" + sdraw);

lose = new JLabel(" 输:" + slose);

score = new JLabel(" 得分:" + sscore);

count = new JLabel(" 总局:" + count1);

Font f1 = new Font("宋体",1,30);

win.setFont(f1);

draw.setFont(f1);

lose.setFont(f1);

score.setFont(f1);

count.setFont(f1);

win.setForeground(Color.cyan);

draw.setForeground(Color.green);

lose.setForeground(Color.blue);

score.setForeground(Color.black);

count.setForeground(Color.pink);

panel1.setBackground(Color.red);

panel1.add(win);

panel1.add(draw);

panel1.add(lose);

panel1.add(score);

panel1.add(count);

panel1.setPreferredSize(new Dimension(900,50));

add(panel1,BorderLayout.NORTH);

add(text,BorderLayout.CENTER);

add(panel2,BorderLayout.SOUTH);

setBounds(100,100,900,450);

validate();

setVisible(true);

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

}

public void actionPerformed(ActionEvent e){

if(e.getSource() == fight){

if(list.getSelectedItem() == "石头"){

flag = 0;

}

else if(list.getSelectedItem() == "剪子"){

flag = 1;

}

else if(list.getSelectedItem() == "布"){

flag = 2;

}

str1 = (String)list.getSelectedItem();

text.setText("");

text.append("\n");

text.append(" 你 出: " + str1 + "\n");

text.append(" 电脑出: " + this.random() + "\n");

text.append(" 结 果: " + this.result() + "\n");

this.finalresult();

}

if(e.getSource() == clear){

swin = 0;

sdraw = 0;

slose = 0;

sscore = 0;

count1 = 0;

text.setText("");

win.setText(" 赢:" + swin);

draw.setText(" 和:" + sdraw);

lose.setText(" 输:" + slose);

score.setText(" 得分:" + sscore);

count.setText(" 总局:" + count1);

}

}

public String random(){

random = rdm.nextInt(3);

if(random == 0)

str2 = "石头";

else if(random == 1)

str2 = "剪子";

else if(random == 2)

str2 = "布";

return str2;

}

public String result(){

if(random == flag){

str3 ="打平";

flag1 = 0;

}

else if(random < flag &&flag == 1){

str3 = "你输了";

flag1 = 1;

}

else if(random

str3 = "你输了";

flag1 = 1;

}

else if(random ==2 && flag == 0){

str3 = "你输了";

flag1 = 1;

}

else{

str3 = "你赢了";

flag1 = 2;

}

return str3;

}

public void finalresult(){

if(flag1 == 0){

sdraw ++;

draw.setText(" 平:" + sdraw);

score.setText(" 得分:" + sscore);

}

if(flag1 == 1){

slose ++;

sscore = sscore - 10;

lose.setText(" 输:" + slose);

score.setText(" 得分:" + sscore);

}

if(flag1 == 2) {

swin ++;

sscore = sscore + 10;

win.setText(" 赢:" + swin);

score.setText(" 得分:" + sscore);

}

count1 = swin + slose + sdraw;

count.setText(" 总局:" + count1);

}

public void itemStateChanged(ItemEvent e){

}

}

本回答由网友推荐

2Q==

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值