伙伴们如何制作动态参数。我想用动态变量创建一个新的JLabel.my变量来自jtextfield gettext。但是当我尝试使用netbeans.it时,error.i无法使这个动态像我的script.how使我的变量是动态的?
JLabel jTextField1.getText() = new JLabel;
答案 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());
}
}
}
效果如下: