Kodum aşağıda. Benim için iyi bir şekilde derler ama profesörüm hata yaptığını söylüyor çünkü sınıfımın finalinde birkaç değişkenim yok. Eclipse makinemde bununla ilgili bir sorun yok gibi görünüyor, bu yüzden göremediğim şeyleri düzeltmek nasıl yanlıştır bilmiyorum.Neden bir program benim için derler ama başka biri için değil?
Bazı değişken iç içe sınıflarında çalışmak nihai olması gerektiğini anlıyorum ama oluşturduk olanlar gayet nihai ya da değil çalışmıyor gibi görünüyor. isteyebilir ActionListener
olarak
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.util.Random;
public class JColorFrame extends JFrame {
private JPanel contentPane;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
JColorFrame frame = new JColorFrame();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public JColorFrame() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 522, 339);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
JPanel panel = new JPanel();
contentPane.add(panel, BorderLayout.NORTH);
JPanel panel_1 = new JPanel();
contentPane.add(panel_1, BorderLayout.WEST);
JPanel panel_2 = new JPanel();
contentPane.add(panel_2, BorderLayout.EAST);
JPanel panel_3 = new JPanel();
contentPane.add(panel_3, BorderLayout.SOUTH);
Color[] color = new Color[8];
color[0] = Color.black;
color[1] = Color.white;
color[2] = Color.red;
color[3] = Color.blue;
color[4] = Color.green;
color[5] = Color.yellow;
color[6] = Color.magenta;
color[7] = Color.orange;
JButton btnChangeColor = new JButton("Change Color");
btnChangeColor.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Random random = new Random();
int random_1 = random.nextInt(4);
switch (random_1) {
case 0:
int random_2 = random.nextInt(8);
panel.setBackground(color[random_2]);
break;
case 1:
random_2 = random.nextInt(8);
panel_1.setBackground(color[random_2]);
break;
case 2:
random_2 = random.nextInt(8);
panel_2.setBackground(color[random_2]);
break;
case 3:
random_2 = random.nextInt(8);
panel_3.setBackground(color[random_2]);
break;
}
}
});
contentPane.add(btnChangeColor, BorderLayout.CENTER);
}
}
Java'yı 7 kullanıyorsunuz> ve profesörün Java 6 kullandığını < – MadProgrammer
@MadProgrammer: Onlar Java 8 kullanıyorsanız, ve sorumlu öğretim Java 7 veya daha düşük kullanıyor fazla gibi. – Makoto
@Makoto Muhtemelen, Java 7: P'yi atladım – MadProgrammer