岩石纸剪刀不';行不通 import javax.swing.*; 导入java.awt.*; 导入java.awt.event.*; 公共类stensax扩展JFrame实现ActionListener{ JPanel p1=新的JPanel(); JPanel p2=新的JPanel(); JPanel p3=新的JPanel(); int x; int-y; JButton knapp[]=新JButton[6]; 公共英语{ p1.设置布局(新网格布局(2,1)); 挫折背景(颜色:浅灰色); p2.设置布局(新网格布局(2,4,6,6)); p3.setLayout(新的BorderLayout()); JLabel label1=新的JLabel(“Ditt val”); JLabel label2=新的JLabel(“Datorns val”); JLabel label3=新的JLabel(“结果”); 标签3.设置水平对齐(JLabel.中心); 标签3.设置垂直对齐(JLabel.中心); 对于(int i=0;i

岩石纸剪刀不';行不通 import javax.swing.*; 导入java.awt.*; 导入java.awt.event.*; 公共类stensax扩展JFrame实现ActionListener{ JPanel p1=新的JPanel(); JPanel p2=新的JPanel(); JPanel p3=新的JPanel(); int x; int-y; JButton knapp[]=新JButton[6]; 公共英语{ p1.设置布局(新网格布局(2,1)); 挫折背景(颜色:浅灰色); p2.设置布局(新网格布局(2,4,6,6)); p3.setLayout(新的BorderLayout()); JLabel label1=新的JLabel(“Ditt val”); JLabel label2=新的JLabel(“Datorns val”); JLabel label3=新的JLabel(“结果”); 标签3.设置水平对齐(JLabel.中心); 标签3.设置垂直对齐(JLabel.中心); 对于(int i=0;i,java,Java,取消注释这一行/*knapp[i].addActionListener(this);*/以接收动作事件。扰流板:((3-1)+1)将始终是3。(尚未阅读所有内容,我刚刚看到)您的按钮没有附加actionlistener。您将其注释掉了。这是一个愚蠢的错误。它现在似乎可以打印出来,但它并没有替换“resultat”,而是显示在p3的左侧。 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class

取消注释这一行
/*knapp[i].addActionListener(this);*/
以接收动作事件。

扰流板:
((3-1)+1)
将始终是
3
。(尚未阅读所有内容,我刚刚看到)您的按钮没有附加actionlistener。您将其注释掉了。这是一个愚蠢的错误。它现在似乎可以打印出来,但它并没有替换“resultat”,而是显示在p3的左侧。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class stensax extends JFrame implements ActionListener{
    JPanel p1=new JPanel();
    JPanel p2=new JPanel();
    JPanel p3=new JPanel();
    int x;
    int y;
JButton knapp[] = new JButton [6];

public stensax(){
    p1.setLayout(new GridLayout(2,1));
    setBackground(Color.lightGray);
    p2.setLayout(new GridLayout(2,4,6,6));
    p3.setLayout(new BorderLayout());
    JLabel label1 = new JLabel("Ditt val");
    JLabel label2 = new JLabel("Datorns val");
    JLabel label3 = new JLabel("Resultat");
    label3.setHorizontalAlignment(JLabel.CENTER);
    label3.setVerticalAlignment(JLabel.CENTER);

    for (int i = 0; i<6; i++){
        knapp[i] = new JButton();
       /* knapp[i].addActionListener(this); */
        knapp[i].setFont(new Font("Sans Serif", Font.BOLD, 16));
        knapp[i].setForeground(Color.blue);
        p2.add(knapp[i]);
    }

    p2.add(label1, 0,0);
    p2.add(label2, 4,4);

    knapp[0].setLabel("Sten");
    knapp[1].setLabel("Sax");
    knapp[2].setLabel("Påse");
    knapp[3].setLabel("Sten");
    knapp[4].setLabel("Sax");
    knapp[5].setLabel("Påse");

    p3.add(label3);

    p3.setVisible(true);
    p2.setVisible(true);
    p1.setVisible(true);
    setVisible(true);


    add(p1);
    p1.add(p2,"North");
    p1.add(p3,"South");
    pack(); 
}
    public void actionPerformed(ActionEvent e){ 

        if(e.getSource()==knapp[0]) {
            x=1;    
            logic();
        }

        if(e.getSource()==knapp[1]) {
            x=2;
            logic();
        }

        if(e.getSource()==knapp[2]) {
            x=3;
            logic();
        }


    }

    public void logic(){
         int y = (int)(Math.random() * ((3 - 1) + 1)) + 1;

        if( y == x){
            JLabel label3 = new JLabel("Det blev oavgjort!");
            label3.setText("ok");
            p3.add(label3);
        }

        else if( x == 1 && y == 2){
            JLabel label3 = new JLabel("Du vann!");
            label3.setText("ok");
            p3.add(label3);
        }

        else if( x == 1 && y == 3){
            JLabel label3 = new JLabel("Du förlorade!");
            label3.setText("ok");
            p3.add(label3);
        }

        else if( x == 2 && y == 1){
            JLabel label3 = new JLabel("Du förlorade!");
            label3.setText("ok");
            p3.add(label3);
        }

            if( x == 2 && y == 3){
            JLabel label3 = new JLabel("Du vann!");
            label3.setText("ok");
            p3.add(label3);
        }

        else if( x == 3 && y == 1){
            JLabel label3 = new JLabel("Du vann!");
            label3.setText("ok");
            p3.add(label3);
        }

        else if( x == 3 && y == 2){
            JLabel label3 = new JLabel("Du förlorade!");
            label3.setText("ok");
            p3.add(label3);
        }

    }


public static void main (String[] args){
    stensax fc = new stensax ();
}


}