📄 player.java
字号:
jrb.add(s2);
jrb.add(s3);
JPanel p20=new JPanel();
p20.setLayout(new GridLayout(2,2));
p20.add(bid);
p20.add(jtextfield2);
p20.add(number);
p20.add(jtextfield3);
JPanel p5=new JPanel();
p5.setLayout(new GridLayout(2,1));
p5.add(p11);
p5.add(p20);
JPanel p21=new JPanel();
p21.setLayout(new GridLayout(1,2,5,5));
p21.add(p5);
JPanel p22=new JPanel();
p22.setLayout(new GridLayout(2,1,5,5));
p22.setBackground(Color.red);
p22.add(buy);
p22.add(sell);
p21.add(p22);
JPanel p23=new JPanel();
p23.setLayout(new GridLayout(1,2,10,5));
query.setBackground(Color.ORANGE);
JPanel p24=new JPanel();
p24.setLayout(new GridLayout(3,1,10,5));
p23.setBackground(Color.ORANGE);
p24.setBackground(Color.ORANGE);
p24.add(request1);
p24.add(request);
p24.add(show);
p23.add(p24);
p23.add(query);
JPanel p25=new JPanel();
p25.setLayout(new GridLayout(1,2,5,5));
p25.setBackground(Color.green);
p25.add(startgame);
p25.add(enterbank);
JPanel p1=new JPanel();
p1.setLayout(new GridLayout(3,1,5,5));
p1.setBackground(Color.orange);
p1.add(p21);
p1.add(p23);
p1.add(p25);
JPanel p6=new JPanel();
p6.setLayout(new BorderLayout());
p6.add(p1,BorderLayout.CENTER); // for transcation
JPanel p10=new JPanel();
p10.setLayout(new GridLayout(2,1,5,5));
p10.setBackground(Color.green);
p10.add(p4);
p10.add(p6);
frame2.getContentPane().add(p10,BorderLayout.EAST);
frame2.getContentPane().add(p2,BorderLayout.CENTER);
frame2.getContentPane().setBackground(Color.red);
jtextarea1.setEditable(false);
jtextarea2.setEditable(false);
frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
s1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
stockname="stock1";
}
}); // end s1
s2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
stockname="stock2";
}
}); // end s2
s3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
stockname="stock3";
}
}); // end s3
enterbank.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
frame2.setVisible(false);
frame3.setVisible(true);
}
}); //end enterbank
startgame.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
try{
if(turn==1){
jtextarea2.setText("");
initializeRMI(); //for bank
initializeRMI1();
w.addCallback(name,(PlayerCallBackInterface)g);
turn--;
}}
catch(Exception e){
}
}
}); //end start game
show.addActionListener(new ActionListener() { // show my information
public void actionPerformed(ActionEvent evt) {
try{
jtextarea1.setText("");
jtextarea1.append("MyStock1"+" "+"is"+stock1+'\n'
+"MyStock2"+" "+"is"+stock2+'\n'
+"MyStock3"+" "+"is"+stock3+'\n'+"MyCash"+" "+"is"+" "+balance+'\n'
+"MyDeposit"+" "+"is"+" "+h.CheckBalance(name));
}
catch(Exception e){
}
}
}); // end show
buy.addActionListener(new ActionListener() { // buy
public void actionPerformed(ActionEvent evt) {
try{
int i = Integer.valueOf(jtextfield3.getText().trim()).intValue(); // number
double m=Double.parseDouble(jtextfield2.getText().trim()); //bid
String StockName=stockname;
if(StockName.equals("stock1")||StockName.equals("stock2")||StockName.equals("stock3")){
if(balance>=(m*i)&&i>0&&m>0){
w.requesttoken((PlayerCallBackInterface)g);
while(myturn==0){
// when there is no token, the player will have to wait
}
w.PlayerBuy(name,stockname,m,i,(PlayerCallBackInterface)g);
jtextfield1.setText("");
jtextfield2.setText("");
jtextfield3.setText("");
w.releasetoken();
myturn=0;
}
else if(balance<(m*i)&&i>0&&m>0){
jtextarea1.setText("");
jtextarea1.append("no enough money"+'\n');
}
}
else{
jtextarea1.setText("");
jtextarea1.append("Please enter valid StockName"+'\n'+"valid choices:"+
"stock1"+" "+","+"stock2"+" "+","+"stock3"+'\n');
}
}
catch(Exception e){
}
}
}); // end buy
sell.addActionListener(new ActionListener() { // sell
public void actionPerformed(ActionEvent evt) {
try{
String StockName=stockname;
int i = Integer.valueOf(jtextfield3.getText().trim()).intValue(); // number
double m=Double.parseDouble(jtextfield2.getText().trim()); //bid
if(i>0&&m>0){
if(StockName.equals("stock1")||StockName.equals("stock2")||StockName.equals("stock3")){
w.requesttoken((PlayerCallBackInterface)g);
while(myturn==0){
// when there is no token, the player will have to wait
}
if(StockName.equals("stock1")&&i<=stock1){
w.PlayerSell(name,stockname,m,i,(PlayerCallBackInterface)g);
jtextfield1.setText("");
jtextfield2.setText("");
jtextfield3.setText("");
w.releasetoken();
myturn=0;
}
else if(StockName.equals("stock1")&&i>stock1){
jtextarea1.setText("");
jtextarea1.append("no enough stock"+'\n');}
else if(StockName.equals("stock2")&&i<=stock2){
w.PlayerSell(name,stockname,m,i,(PlayerCallBackInterface)g);
jtextfield1.setText("");
jtextfield2.setText("");
jtextfield3.setText("");
w.releasetoken();
myturn=0;
}
else if(StockName.equals("stock2")&&i>stock2){
jtextarea1.setText("");
jtextarea1.append("no enough stock"+'\n');}
else if(StockName.equals("stock3")&&i<=stock3){
w.PlayerSell(name,stockname,m,i,(PlayerCallBackInterface)g);
jtextfield1.setText("");
jtextfield2.setText("");
jtextfield3.setText("");
w.releasetoken();
myturn=0;
}
else if(StockName.equals("stock3")&&i>stock3) {
jtextarea1.setText("");
jtextarea1.append("no enough stock"+'\n');}
}
else{
jtextarea1.setText("");
jtextarea1.append("Please enter valid StockName"+'\n'
+"valid choices:"+
"stock1"+" "+","+"stock2"+" "+","+"stock3"+'\n');
}}
else{
jtextarea1.setText("");
jtextarea1.append("Please enter valid StockNumber or Bid"+'\n');
}
}
catch(Exception e){
}
}
}); // end sell
request.addActionListener(new ActionListener() { // request company information
public void actionPerformed(ActionEvent evt) {
try{
w.show((PlayerCallBackInterface)g);
}
catch(Exception e){
}
}
}); // end request financial information
request1.addActionListener(new ActionListener() { // request player information
public void actionPerformed(ActionEvent evt) {
try{
w.show2((PlayerCallBackInterface)g);
}
catch(Exception e){
}
}
}); // end request financial information
} // end Graphic1
protected void initializeRMI1() { //for StockExchange
String host = "";
try {
Registry registry = LocateRegistry.getRegistry("localhost");
w = (StockExchangeinterface)registry.lookup("Stock Exchange");
System.out.println("Stock Exchange " + w + " found");
}
catch(Exception ex) {
System.out.println(ex);
}
}//end initializeRMI
protected void initializeRMI() { //for bank
String host = "";
try {
Registry registry = LocateRegistry.getRegistry("localhost",1200);
h = (Bankinterface)registry.lookup("Bank");
System.out.println("Bank object " + h + " found");
}
catch(Exception ex) {
System.out.println(ex);
}
}//end initializeRMI
public static void main(String args[]){
Player player1=new Player();
}
} //end Player
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -