제가 집에서 자바 공부를 하고있는데요
하다가 문득 궁금해져서 궁금증을 해결코자 질문드립니다
일단 지금 짜고있는 건 스윙을 사용하여 1~9까지 숫자를 출력하는 MyPanel클래스를만들고
MyFrame클래스에서 재설정 버튼을 만들어 클릭시 숫자를 랜덤하게 재설정 하는식으로 만들고있습니다.
그런데 같은 클래스 내에 있을경우 무리 없이 바뀔거 같지만 이걸 다른 클래스로 옮겨 놓으니 문제가 생겨서 이걸 해결할 수 있는 방법이 없을까하여
질문 드립니다.
일단 제가 독학을 하다보니 코딩자체도 깔끔치못하고 많이 부족하다보니 살짝 야매(?)식으로 짜긴짯는데 해결좀 해주시면 감사하겠습니다.
===================================================================================================================================
package sadas;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.AbstractButton;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.nio.ByteOrder;
import java.util.Random;
class MyPanel1 extends JPanel{
Random rd=new Random();
JButton btnt=new JButton("Test");
JButton btn=new JButton();
public MyPanel1(){
setLayout(new GridLayout(4,3));
JButton []btn1={
btn,btn,btn,btn,btn,btn,btn,btn,btn
};
int []x=new int[9];
for(int i=0;i<9;i++){
x[i]=rd.nextInt(9)+1;
for(int j=0;j<i;j++){
if(x[i]==x[j]){
i--;
}
}
}
for(int i=0;i<9;i++){
btn1[i]=new JButton(x[i]+"");
this.add(btn1[i]);
}
this.add(new JButton());
this.add(btnt);
this.add(new JButton());
}
}
class MyFrame extends JFrame{
MyPanel1 p=new MyPanel1();
public MyFrame(){
Toolkit kit = Toolkit.getDefaultToolkit();
Dimension screen = kit.getScreenSize();
int sx=screen.width;
int sy=screen.height;
int x=400,y=300;
setSize(x,y);
setLocation((sx-x)/2, (sy-y)/2);
setLayout(new BorderLayout());
JButton btn=new JButton("재설정");
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(btn==e.getSource()){
}
}
});
this.add(btn,BorderLayout.SOUTH);
this.add(p,BorderLayout.CENTER);
setVisible(true);
}
}
public class MainFrame {
public static void main(String[] args) {
// TODO Auto-generated method stub
MyFrame f=new MyFrame();
}
}