오늘 자바를 배우기 시작했고 여기에 붙어 있습니다. 버튼을 사용하여 패널을 새로 고치는 방법을 모르겠습니다. 여기 내 코드는 다음과 같습니다.다른 값으로 JPanel을 새로 고침
import java.awt.GridLayout;
import java.util.Random;
import javax.swing.*;
public class App {
public static int STR = 0, aPower = 0, sPower = 0, INT = 0, STA = 0, DEF = 0;
private static void GenerateStatus(){
Random randomGenerator = new Random();
STR = randomGenerator.nextInt(50);
aPower = randomGenerator.nextInt(50);
sPower = randomGenerator.nextInt(50);
INT = randomGenerator.nextInt(50);
STA = randomGenerator.nextInt(50);
DEF = randomGenerator.nextInt(50);
}
private static void FirstTimeInGame() {
String[] items = {"Warrior", "Mage", "Druid", "Scout"};
JComboBox combo = new JComboBox(items);
JTextField Name = new JTextField();
JPanel panel = new JPanel(new GridLayout(0, 1));
GenerateStatus();
panel.add(new JLabel("Name", SwingConstants.CENTER));
panel.add(Name);
panel.add(new JLabel("Class", SwingConstants.CENTER));
panel.add(combo);
panel.add(new JLabel("Stats", SwingConstants.CENTER));
panel.add(new JLabel("Strength " + STR));
panel.add(new JLabel("Attack Power " + aPower));
panel.add(new JLabel("Spell Power " + sPower));
panel.add(new JLabel("Intellect " + INT));
panel.add(new JLabel("Stamina " + STA));
panel.add(new JLabel("Armor " + DEF));
String[] buttons = {"Create!", "Randomize!", "Cancel"};
int result = JOptionPane.showOptionDialog(null,
panel,
"Welcome",
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.PLAIN_MESSAGE,
null,
buttons,
buttons[2]
);
if (result == JOptionPane.OK_OPTION) {
System.out.println(combo.getSelectedItem()
+ " " + Name.getText());
}
else if (result == JOptionPane.NO_OPTION){
GenerateStatus();
panel.validate();
panel.repaint();
}
else{
System.out.println("CANCEL");
}
}
public static void main(String[] args) {
FirstTimeInGame();
}
}
함수 GenerateStatus()는 난수를 생성합니다. '무작위 화'버튼을 누르면 창이 닫힙니다.
누구나 나를 도와 줄 수 있습니까? 부디?
표시된 코드가 문제와 관련이없는 것으로 보입니다 ... – John3136
'임의로 지정'버튼을 눌러야 만합니다. '통계'값을 새로 고칩니다. 어떻게해야합니까? – Cosmin
우리는 어떻게 알 수 있습니까? "통계"에 대해 할 일이있는 코드는 표시하지 않았습니다. – John3136