나는 JButton의 배열을 가지고눌려진 버튼의 이름은 무엇입니까? (???? == e.getSource())
for(i=0;i<button.length;i++)
100 개 버튼을 생성하지만, 즉 e.getSource()처럼 넣어 무엇을 알아낼 수 없습니다 {} 무엇에 넣어야합니까? 즉, e.getSource의 경우 배열에 만들어진 버튼의 이름이 무엇인지 찾는 방법은 무엇입니까? 루프 버튼 배열을 통해
import javax.swing.*;
import javax.swing.border.Border;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.awt.*;
import java.awt.event.*;
public class map {
static int i;
JFrame frame = new JFrame("D&D");
public map() {
int a=0,b=50;
JFrame.setDefaultLookAndFeelDecorated(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(100,0,1000,600);
frame.getContentPane().setLayout(null);
frame.setVisible(true);
frame.setBackground(Color.black);
frame.setResizable(false);
for(i=0;i<button.length;i++){
a=a+50;
if(a>549) {
b=b+50;
a=50;
}
button[i]= new JButton(SD);
frame.getContentPane().add(button[i]);
button[i].setBounds(a, b, 50,50);
button[i].setFont(new Font("Blackmoor Let", Font.BOLD, 30));
button[i].setForeground(Color.red);
button[i].setBorder(border);
button[i].addActionListener(boardListener);
}
}
ActionListener boardListener = new ActionListener(){
public void actionPerformed(ActionEvent e){
System.out.print("\n" +e.getSource());
if (e.getSource()==button[i]){
System.out.println("hi");
}
}
};
public static void main(String[]args){
new map();
}
}
들여 쓰기에 이상한 형태의 코드는 무엇입니까? 그것은 정신 분열증입니까? BTW -하지 말아야 할 2 가지 사항 1)'frame.setBounds (10001000600);'컴포넌트가 일단 추가되면'pack() '을 호출하여 자식을 표시하는 데 필요한 자연적인 크기를 가정 할 수있게합니다. . 2) 'frame.getContentPane(). setLayout (null); ** 레이아웃 사용 ** –
'button [i] .setFont (새 글꼴 ("Courior", Font.BOLD, 30));'(폴 라이트 기침) 맞춤법 검사! –
사실, 이제 나는 그 끔찍한 코드 형식을 문제의 핵심으로 보았습니다. 글꼴이 "Courior"또는 "Courier"가 아니라 "Courier New"인 것으로 보입니다. JRE는 마법으로 글꼴을 찾지 않지만 정확한 이름을 부여합니다. ;) –