Exception in thread "main"
When i run my program, it gives me this error:
Code:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
at main.Start.main(Start.java:31)
my entire class is here:
Code:
package main;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
@SuppressWarnings("serial")
public class Start extends JFrame {
ImageIcon redSquare = new ImageIcon(Start.class.getResource("/main/red.jpg")),
blackSquare = new ImageIcon(Start.class.getResource("/main/black.jpg")),
redChecker = new ImageIcon(Start.class.getResource("/main/redChecker.jpg")),
whiteChecker = new ImageIcon(Start.class.getResource("/main/whiteChecker.jpg")),
redCheckerKing = new ImageIcon(Start.class.getResource("/main/redCheckerKing.jpg")),
whiteCheckerKing = new ImageIcon(Start.class.getResource("/main/whiteCheckerKing.jpg")),
selectedRedChecker = new ImageIcon(Start.class.getResource("/main/selectedRedChecker.jpg")),
selectedWhiteChecker = new ImageIcon(Start.class.getResource("/main/selectedWhiteChecker.jpg")),
selectedRedCheckerKing = new ImageIcon(Start.class.getResource("/main/selectedRedCheckerKing.jpg")),
selectedWhiteCheckerKing = new ImageIcon(Start.class.getResource("/main/selectedWhiteCheckerKing.jpg"));
GridBagConstraints c = new GridBagConstraints();
GridBagLayout layout = new GridBagLayout();
JLabel[][] loacation = new JLabel[8][8];
public static void main(String[] args){
new Start();
}
public Start(){
for(int counter0 = 0; counter0 <= 7; counter0 ++){
for(int counter1 = 0; counter1 <= 7; counter1 ++){
if(counter0 % 2 == 0){
if(counter1%2 == 0){
loacation[counter0][counter1] = new JLabel(new ImageIcon(Start.class.getResource("/main/red.jpg")));
}else{
loacation[counter0][counter1] = new JLabel(new ImageIcon(Start.class.getResource("/main/black.jpg")));
}
}else{
if(counter1 % 2 == 0){
loacation[counter0][counter1] = new JLabel(new ImageIcon(Start.class.getResource("/main/black.jpg")));
}else{
loacation[counter0][counter1] = new JLabel(new ImageIcon(Start.class.getResource("/main/red.jpg")));
}
}
}
}
setResizable(false);
setBounds(10, 10, 600, 600);
setLayout(layout);
for (int counter0 = 0; counter0 <= 7; counter0++){
c.gridy = counter0;
for (int counter1 = 0; counter1 <=7; counter1++){
c.gridx = counter1;
add(loacation[counter0][counter1], c);
}
}
setTitle("Checkers");
setVisible(true);
for(int counter = 1; counter <= 7; counter += 2)
loacation[0][counter].setIcon(redChecker);
for(int counter = 0; counter <= 7; counter += 2)
loacation[1][counter].setIcon(redChecker);
for(int counter = 1; counter <= 7; counter += 2)
loacation[2][counter].setIcon(redChecker);
for(int counter = 0; counter <= 7; counter += 2)
loacation[5][counter].setIcon(whiteChecker);
for(int counter = 1; counter <= 7; counter += 2)
loacation[6][counter].setIcon(whiteChecker);
for(int counter = 0; counter <= 7; counter += 2)
loacation[7][counter].setIcon(whiteChecker);
for(int counter = 0; counter <= 7; counter++){
for(int counter1 = 0; counter1 <= 7; counter1++){
loacation[counter][counter1].addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if(((JLabel) e.getSource()).getIcon() == redChecker){
unCheck();
((JLabel) e.getSource()).setIcon(selectedRedChecker);
}else if(((JLabel) e.getSource()).getIcon() == whiteChecker){
unCheck();
((JLabel) e.getSource()).setIcon(selectedWhiteChecker);
}else if(((JLabel) e.getSource()).getIcon() == redCheckerKing){
unCheck();
((JLabel) e.getSource()).setIcon(selectedRedCheckerKing);
}else if(((JLabel) e.getSource()).getIcon() == whiteCheckerKing){
unCheck();
((JLabel) e.getSource()).setIcon(selectedWhiteCheckerKing);
}else if(((JLabel) e.getSource()).getIcon() == blackSquare ){
move(((JLabel) e.getSource()));
System.out.println("J");
}
}
});
}
}
}
public void move(JLabel destination){
System.out.println(getSelectedSquare());
}
public void unCheck(){
for(int counter2 = 0; counter2 <= 7; counter2++){
for(int counter3 = 0; counter3 <= 7; counter3++){
if(loacation[counter2][counter3].getIcon() == selectedRedChecker){
loacation[counter2][counter3].setIcon(redChecker);
}else if(loacation[counter2][counter3].getIcon() == selectedWhiteChecker){
loacation[counter2][counter3].setIcon(whiteChecker);
}else if(loacation[counter2][counter3].getIcon() == selectedRedCheckerKing){
loacation[counter2][counter3].setIcon(redCheckerKing);
}else if(loacation[counter2][counter3].getIcon() == selectedWhiteCheckerKing){
loacation[counter2][counter3].setIcon(whiteCheckerKing);
}
}
}
}
public JLabel getSelectedSquare(){
for(int counter2 = 0; counter2 <= 7; counter2 ++){
for(int counter3 = 0; counter3 <= 7; counter3++){
if(loacation[counter2][counter3].getIcon() == selectedRedChecker ||
loacation[counter2][counter3].getIcon() == selectedWhiteChecker ||
loacation[counter2][counter3].getIcon() == selectedRedCheckerKing ||
loacation[counter2][counter3].getIcon() == selectedWhiteCheckerKing){
return loacation[counter2][counter3];
}
}
}
return null;
}
Thanks in advance :(happy):
Re: Exception in thread "main"
Can you compile the program with the javac command and get the error messages from the compiler?
The javac compiler gives better error messages than your IDE.
Re: Exception in thread "main"
How do I use the Javac compiler again? I never really used it...
Re: Exception in thread "main"
Open a command prompt window, change to the directory(use CD command) with the .java source file and enter the javac command:
javac <SOURCEFILENAME>.java
Re: Exception in thread "main"
it just says "javac is not a recognized internal or external command, operable program or batch file
Re: Exception in thread "main"
Re: Exception in thread "main"
wierd. i just tryed running it in eclipse and it worked fine. thanks all!