Java 你能让一个JPanel在每次点击按钮时随机生成吗?

Java 你能让一个JPanel在每次点击按钮时随机生成吗?,java,swing,Java,Swing,基本上,我刚刚开始使用Eclipse用Java编写代码,作为我的第一个“严肃”项目,我正在尝试编写一个简单的问答游戏。我已经设置了所有的图形和回答系统,但是我被卡在了一个地方,如果你点击正确的答案,JPanel会用一个新的问题重新启动 我已经尝试了一些我在网上看到的解决方案,包括do/while方法,结果证明它毫无价值,调用main方法(所有代码都在其中的方法)似乎是不可能的 以下是我所说的方法: public static void main(String []args) throws IOE

基本上,我刚刚开始使用Eclipse用Java编写代码,作为我的第一个“严肃”项目,我正在尝试编写一个简单的问答游戏。我已经设置了所有的图形和回答系统,但是我被卡在了一个地方,如果你点击正确的答案,JPanel会用一个新的问题重新启动

我已经尝试了一些我在网上看到的解决方案,包括do/while方法,结果证明它毫无价值,调用main方法(所有代码都在其中的方法)似乎是不可能的

以下是我所说的方法:

public static void main(String []args) throws IOException
{ //这是我删掉的不必要的东西

     ImageIcon image = new ImageIcon (Imagetesting.class.getResource(i+".jpg"));
     JLabel label = new JLabel (image);
      JFrame f = new JFrame("Quiz");
      JLabel x1 = new JLabel(question);

      JButton x2 = new JButton(answer1);
         //+ other graphic stuff

         f.getContentPane().add(MyPanel, "Center"); // Paste MyPanel in center
                                // of the contentPane    
         f.setExtendedState(JFrame.MAXIMIZED_BOTH); 
         f.setVisible(true);
         x3.addActionListener(new ActionListener() {

             @Override
             public void actionPerformed(ActionEvent e) {

                 if(answer2.equals("therightanswer")){
                 score = score +1;
                 x1.setText("Right answer Punteggio:"+String.valueOf(punteggio)
                 // what am I supposed to put here?
                 );
              ;
                    }
             }});

<> P> >我应该做什么?是否有可能调用主方法使它重启?我做错了什么?< /P> < p>您可以将标签传递到Accon执行函数中,以在正确答案时更改这些对象的值。

如果您想从头开始重新启动,请考虑在您的系统中可以有多个方法。可以从main()和actionPerformed()调用一个框架创建方法考虑一下你是否只想让文本在现有的面板中更新。你从错误的一块开始。首先,创建一个干净的非GUI OOP兼容的代码来处理问题的逻辑部分——即,每个问题的一个类,一个有问题的字符串,一个可能答案的字符串。d正确的答案,编写代码以便能够识别正确的响应,然后尝试将其连接到GUI。创建GUI时,不要将所有内容都放在一个巨大的主方法中,而是将GUI细分为更小的部分以解决问题。例如,请查看最近类似的问题。在这个答案中,我交换了问题关于使用CardLayout显示JPanel。为了更快地获得更好的帮助,可以添加or。但是为什么不能简单地调用main()方法呢?