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);
	}
}
X viết 22:39 ngày 30/09/2018

Sửa this thành null thử

Đỗ Trung Quân viết 22:47 ngày 30/09/2018

Chắc copy code từ netbean sang eclipse hả?

Trung Thảo viết 22:53 ngày 30/09/2018

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… :’(

Đỗ Trung Quân viết 22:52 ngày 30/09/2018

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

Quân viết 22:40 ngày 30/09/2018

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

Bài liên quan
0