저는 프로그래밍에 익숙하지 않습니다. 사용자가 JRadioButton을 눌러 바위, 종이, 가위 (1 플레이어 또는 2 플레이어) 모드를 선택할 수있게하는 매우 간단한 메뉴를 프로그래밍하려고했습니다. 현재 코드가 어떤 버튼이 선택되어 있는지를 청취 한 다음 int를 1 또는 2로 설정합니다. 그런 다음 해당 숫자를 사용하여 주 방법에서 열려야하는 창을 결정하지만이 방법을 사용하여 무엇을해야하는지 모르겠습니다. static 필드가 아닌 정적 메소드를 참조한다.내 프로그램에서 사용자 입력을 기반으로 창을 열려면 어떻게해야합니까?
이 코드는 모드를 설정하고 해당 int를 기반으로 어떤 창을 열지를 결정합니다.
public void actionPerformed(ActionEvent e)
{
if(p1.isSelected())
mode = 1;
else if(p2.isSelected())
mode = 2;
}
public static void main(String args[])
{
RPSMenu window = new RPSMenu();
window.setBounds(300, 300, 400, 100);
window.setDefaultCloseOperation(EXIT_ON_CLOSE);
window.setVisible(true);
if(mode == 1)
{
Rps window1 = new Rps();
window1.setBounds(300, 300, 400, 160);
window1.setDefaultCloseOperation(EXIT_ON_CLOSE);
window1.setVisible(true);
window.setVisible(false);
}
else if(mode == 2)
{
P2RPS window2 = new P2RPS();
window2.setBounds(300, 300, 400, 150);
window2.setDefaultCloseOperation(EXIT_ON_CLOSE);
window2.setVisible(true);
window.setVisible(false);
}
}
내 전체 코드를 보는 것은이 도움이된다면
가 있습니다 :import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class RPSMenu extends JFrame
implements ActionListener
{
/**
*
*/
private static final long serialVersionUID = 1L;
JRadioButton p1, p2;
int mode;
public RPSMenu()
{
p1 = new JRadioButton(" 1 Player ");
p2 = new JRadioButton(" 2 Player ");
ButtonGroup menu = new ButtonGroup();
menu.add(p1);
menu.add(p2);
JButton go = new JButton(" Go! ");
go.addActionListener(this);
Container m = getContentPane();
m.setLayout(new FlowLayout());
m.add(go);
m.add(p1);
m.add(p2);
}
public void actionPerformed(ActionEvent e)
{
if(p1.isSelected())
mode = 1;
else if(p2.isSelected())
mode = 2;
}
public static void main(String args[])
{
RPSMenu window = new RPSMenu();
window.setBounds(300, 300, 400, 100);
window.setDefaultCloseOperation(EXIT_ON_CLOSE);
window.setVisible(true);
if(mode == 1)
{
Rps window1 = new Rps();
window1.setBounds(300, 300, 400, 160);
window1.setDefaultCloseOperation(EXIT_ON_CLOSE);
window1.setVisible(true);
window.setVisible(false);
}
else if(mode == 2)
{
P2RPS window2 = new P2RPS();
window2.setBounds(300, 300, 400, 150);
window2.setDefaultCloseOperation(EXIT_ON_CLOSE);
window2.setVisible(true);
window.setVisible(false);
}
}
}