Background JLabel trong Java

Hi mn,
Mình có 1 cái Jlabel, mình set cho nó 1 cái background. Khi mình click vào button thì nội dung sẽ nằm đè lên cái ảnh. Vấn đề là khi mình chỉnh kích thước Jlabel bằng với tấm ảnh thì không thấy chữ, mình kéo rộng Jlabel ra thì chữ nằm bên phải. Cho mình hỏi là làm sao set chữ nó nằm trên tấm ảnh và nằm ở giữ luôn ạ, mình cảm ơn.

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.TextField;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextField;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Color;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.SwingConstants;

public class Bai2_9 extends JFrame {

	private JPanel contentPane;
	private JTextField txtTen1;
	private JTextField txtTen2;
	private JButton btnXemBoi;
	private JLabel lblImage;
	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					Bai2_9 frame = new Bai2_9();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public Bai2_9() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 425, 295);
		contentPane = new JPanel();
		contentPane.setBackground(new Color(255, 255, 255));
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		txtTen1 = new JTextField("");
		txtTen1.setBounds(187, 37, 80, 20);
		contentPane.add(txtTen1);
		
		txtTen2 = new JTextField("");
		txtTen2.setBounds(26, 37, 80, 20);
		contentPane.add(txtTen2);
		
		btnXemBoi = new JButton("Xem bói");
		btnXemBoi.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				lblImage.setText("abc");
			}
		});
		btnXemBoi.setBounds(99, 111, 108, 29);
		contentPane.add(btnXemBoi);
		
		lblImage = new JLabel("");
		lblImage.setHorizontalAlignment(SwingConstants.LEFT);
		lblImage.setBounds(0, 0, 378, 234);
		lblImage.setIcon(new ImageIcon("E:\\Java\\Eclipse\\Module1\\images\\Boitinhyeu.jpg"));
		contentPane.add(lblImage);
		
	}
}

Thế cái JButton đó sao nằm ở giữa được?
Tạo JLabel khác để hiện chữ.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?