30/09/2018, 18:09

Không thể add components trong Eclipse Java

Xin chào mọi người,
Mình đang học Java - Form trên trường, ở lớp code thì add components bình thường, nhưng khi về nhà mở eclipse lên code lại thì bị lỗi :

"The method add(Component) in type Container is not applicable for argument (JLabel)"

Đây là code của mình :

import javax.swing.JFrame;
import javax.swing.JLabel;

/**
 * 
 */

/**
 * @author Hoang Viet
 *
 */
public class hello extends JFrame {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
			// TODO Auto-generated method stub
			// new window
			hello wMain = new hello();
			// end program as closing window.
			wMain.setDefaultCloseOperation(EXIT_ON_CLOSE);
			// show the window
			wMain.setVisible(true);
		}
		
		public hello(){
			JLabel lblUsername = new JLabel("Name");
			JLabel lblPassword = new JLabel("Pwd");

			//set window title
			setTitle("Swing Demo");
			
			//set size
			setSize(250, 150);
			// reset null layout
			setLayout(null);
			// add labels to window
			add(lblUsername);
			//add();
		}

	}

}

Mong mọi người giúp đỡ. Xin cảm ơn !

Nguyễn Văn Tâm viết 20:19 ngày 30/09/2018

bạn thử setBound cho label xem, add label vào container của frame chứ không add thẳng vào frame

Võ Hoàng Việt viết 20:15 ngày 30/09/2018

Có setBounds thì cũng bị lỗi như vậy đó bạn @@. Bình thường mình dùng eclipse trên lớp add bình thường mà, đâu có phân biệt component hay container gì đâu ta @@ ? Bạn có thể cho mình code mẫu không ? Cảm ơn bạn nhiều !

Nguyễn Văn Tâm viết 20:23 ngày 30/09/2018
import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;

/**
 *
 * @author 
 */
public class hello extends JFrame {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
			// TODO Auto-generated method stub
			// new window
			hello wMain = new hello();
			// end program as closing window.
			wMain.setDefaultCloseOperation(EXIT_ON_CLOSE);
			// show the window
			wMain.setVisible(true);
		}
		
		public hello(){
			JLabel lblUsername = new JLabel("Name");
			JLabel lblPassword = new JLabel("Pwd");

			//set window title
			setTitle("Swing Demo");
			
			//set size
			setSize(250, 150);
			// reset null layout
			setLayout(new FlowLayout());
			// add labels to window
			this.getContentPane().add(lblUsername);
			//add();
		}

}
Võ Hoàng Việt viết 20:22 ngày 30/09/2018

Mình đã thử nhưng vẫn báo lỗi bạn ơi @@

Võ Hoàng Việt viết 20:21 ngày 30/09/2018

Mình đã tìm được nguyên nhân, do bản IRE 8.0 không tương thích, mình đã chuyển về bản 7.0 và add được thành công

Bài liên quan
0