用动态变量制作jlabel

时间:2015-09-12 04:46:20

标签: java swing jlabel

伙伴们如何制作动态参数。我想用动态变量创建一个新的JLabel.my变量来自jtextfield gettext。但是当我尝试使用netbeans.it时,error.i无法使这个动态像我的script.how使我的变量是动态的?

JLabel jTextField1.getText() = new JLabel;

2 个答案:

答案 0 :(得分:2)

JLabel textFieldLabel = new JLabel (jTextField1.getText ());

答案 1 :(得分:2)

您可以使用JLabel.setText来实现目标。这是一个动态修改标签的演示。希望它有所帮助。

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;
import javax.swing.border.EmptyBorder;

public class Main{

    private JFrame frame;
    JLabel label = new JLabel("LABEL");
    JTextField field = new JTextField(10);

    public void initialWindow(){
        frame = new JFrame("Demo");
        MainPanel mainPanel = new MainPanel();
        frame.add(mainPanel, BorderLayout.CENTER);
        frame.setResizable(false);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        Runnable runnable = new Runnable() {
            @Override
            public void run() {
                Main mainObj = new Main();
                mainObj.initialWindow();
            }
        };
        SwingUtilities.invokeLater(runnable);
    }

    class MainPanel extends JPanel{
        /**
         * 
         */
        private static final long serialVersionUID = 1L;
        JButton button = new JButton("Submit");
        public MainPanel(){
            setLayout(new BorderLayout());
            setBorder(new EmptyBorder(10, 10, 10, 10));
            add(field, BorderLayout.WEST);
            button.addActionListener(new MyListener());
            add(button, BorderLayout.CENTER);
            add(label, BorderLayout.EAST);
        }
    }

    class MyListener implements ActionListener{

        @Override
        public void actionPerformed(ActionEvent e) {
            // TODO Auto-generated method stub
            label.setText(field.getText());
        }
    }
}

效果如下:

enter image description here

enter image description here