30/09/2018, 20:38
[Java Swing] Thắc mắc về phương thức JColorChooser.showDialog
Em có 2 đoạn code như sau và không hiểu tại sao cái thứ nhất lại sai
Nó báo lỗi tại phương thức JColorChooser.showDialog(); và nguyên nhân là do cái this em truyền vào
Nhưng theo em thì trong cả 2 đoạn code trên thì nó đều là đối tượng thuộc kiểu ActionListener.
Em nói sai chỗ nào mong mọi người chỉ giáo ạ!
#Code1
public class JColorChooserDemo extends JFrame{
JButton b;
Container c;
public JColorChooserDemo() {
c = getContentPane();
c.setLayout(new FlowLayout());
b = new JButton("Color");
b.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Color init = Color.RED;
Color color = JColorChooser.showDialog(this, "Chooser a color", init);
c.setBackground(color);
}
});
}
}
#Code2
public class JColorChooserDemo extends JFrame implements ActionListener{
JButton b;
Container c;
public JColorChooserDemo() {
c = getContentPane();
c.setLayout(new FlowLayout());
b = new JButton("Color");
b.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
Color init = Color.RED;
Color color = JColorChooser.showDialog(this, "Chooser a color", init);
c.setBackground(color);
}
}
Bài liên quan
Sửa this thành null thử
Chắc copy code từ netbean sang eclipse hả?
không ạ. do em xem tutorial trên mạng rồi tự code theo nhưng do biết 2 cách nên làm thử nhưng 1 cách bị lỗi… :’(
Em code bằng eclipse phải không? Sửa this thành null như bạn trên nói là chạy đc
this ở đoạn code 1 có type là ActionListener, cho vào sai là đúng rồi, đáng ra phải là JColorChooserDemo.this hoặc null như mọi người bảo