'이름에 구성 요소에 개인 액세스 권한이 있습니다.'라는 오류가 발생했습니다. 나는 그것이 의미하는 것을 이해하지 못한다. 그러나 나는 main 메소드에서 변수 'name'을 잘못 초기화했다고 생각한다. 이 오류는 startGame() 메소드 내부에서 'label1'을 초기화하는 지점을 가리 킵니다.오류 받기 : 구성 요소에서 변수 private 액세스
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Gamey extends JFrame
{
private JPanel panelUp;
private JPanel panelDown;
private JButton btnPlay, btnNext;
private JLabel label1;
public Gamey()
{
super("Game");
startGame();
}
public void startGame()
{
Container c = getContentPane();
panelUp = new JPanel();
panelDown = new JPanel();
label1 = new JLabel(name + "Snow glows white on the mountain tonight"); //name has a private access in Component
btnPlay = new JButton("Play");
btnNext = new JButton("Next");
btnPlay.addActionListener(new Handler());
panelUp.add(label1);
panelDown.add(btnPlay);
c.add(panelUp, BorderLayout.CENTER);
c.add(panelDown, BorderLayout.PAGE_END);
}
public class Handler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == btnPlay)
{
btnPlay.setText("Next");
label1.setText("Not a footprint to be seen");
}
}
}
public static void main(String[] args)
{
String name = JOptionPane.showInputDialog(null, "enter name: ");
Gamey game = new Gamey();
game.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
game.setSize(450,450);
game.setVisible(true);
game.setLocationRelativeTo(null);
}
}
Ok 제안 사항을 준수합니다. 감사! 그러나 또 다른 것이 있습니다. 그것은 컴파일되었지만 name 변수는 다음과 같이 null을 표시했습니다. nullSnow는 오늘 밤에 산에서 하얀 빛을냅니다. 왜 그렇게합니까? – Smee