Mã của tôi ở bên dưới. Nó biên soạn tốt cho tôi, tuy nhiên giáo sư của tôi nói rằng anh ta nhận được một lỗi vì tôi không có một vài biến trong lớp của tôi tuyên bố cuối cùng. Eclipse dường như không có vấn đề với điều này trên máy tính của tôi vì vậy tôi không biết làm thế nào để sửa chữa những gì tôi không thể nhìn thấy là sai.Tại sao chương trình sẽ biên dịch cho tôi chứ không phải cho một người khác?
Tôi hiểu rằng một số biến cần phải là cuối cùng để làm việc trong các lớp lồng nhau, nhưng những cái tôi đã tạo dường như chỉ hoạt động tốt, cuối cùng hay không.
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);
}
}
Bạn đang sử dụng Java 7> và giáo sư của bạn đang sử dụng Java 6 < – MadProgrammer
@MadProgrammer: Nó giống như họ đang sử dụng Java 8 và giáo sư của họ đang sử dụng Java 7 trở xuống. – Makoto
@Makoto Có lẽ, tôi đã bỏ qua Java 7: P – MadProgrammer