Program for dynamically creating and adding JLabels
In this tutorial, we will create a JFrame that contains JTextField, JPanel and JLabels. We have to add the number of JLabels that are entered in JTextField. For example, if we have entered number 4 then four labels will be added in JPanel.
To accomplish this task we have used here CaretListener interface and its method caretUpdate( ).
SOURCE CODE
OUTPUT
C:\>javac CreateLabelsDynamically.java
C:\>java CreateLabelsDynamically
To accomplish this task we have used here CaretListener interface and its method caretUpdate( ).
SOURCE CODE
import java.awt.Color;
import javax.swing.*;
import javax.swing.event.*;
class CreateLabelsDynamically extends JFrame implements CaretListener {
JTextField jtf;
JPanel jpan;
public CreateLabelsDynamically() {
jtf = new JTextField(10);
jpan = new JPanel();
setLayout(null);
jtf.setBounds(50, 20, 50, 30);
jtf.addCaretListener(this);
jpan.setBounds(50, 80, 200, 200);
jpan.setOpaque(true);
jpan.setBackground(Color.CYAN);
add(jtf);
add(jpan);
}
public void caretUpdate(CaretEvent ce) {
String str = jtf.getText();
jpan.removeAll();
if(!str.equals("")) {
int num = Integer.parseInt(str);
JLabel jlabels[] = new JLabel[num];
for(int i = 0; i < jlabels.length; i++) {
jlabels[i] = new JLabel("Label" + i);
jpan.add(jlabels[i]);
}
}
jpan.validate();
jpan.repaint();
}
public static void main(String args[]) {
CreateLabelsDynamically c = new CreateLabelsDynamically();
c.setTitle("My Frame");
c.setSize(300,350);
c.setVisible(true);
}
}
OUTPUT
C:\>javac CreateLabelsDynamically.java
C:\>java CreateLabelsDynamically
Comments
Post a Comment