有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用Java Swing更改JTextfield属性

我使用以下代码更改JTextField的属性。它工作正常。我的问题是如何通过传递参数而不使用默认函数来更改JTextField属性。例如,如果我想更改JTextField LEFT属性,就意味着像这样使用参数(controlname,LEFT,100)。如何通过使用以下代码向JTextField属性传递参数来更改JTextField属性

package textfield;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


public class textf implements ActionListener
{
    JTextField txt;
    JButton width;
    JFrame frame;
    JPanel panel;
    //Font font = UIManager.getFont("txt.font");
    public textf()
    {
       frame=new JFrame();
       panel=new JPanel();
       txt=new JTextField(10);
       width=new JButton("width");
       width.setBounds(20, 200, 50, 40);

    panel.add(txt);
    panel.add(width);
    width.addActionListener(this);
    frame.add(panel);



       // n.getContentPane().add(new textf());
        frame.setSize(440,310);
        frame.setVisible(true);

    }
    public void actionPerformed(ActionEvent e)
    {
    txt.setBorder(BorderFactory.createLineBorder(Color.red));
    txt.setHorizontalAlignment(javax.swing.JTextField.LEFT);
     txt.setSize(100,100);
      txt.setPreferredSize(new Dimension(1000, 90));

       txt.putClientProperty("txt.sizeVariant", "small");

        txt.setFont(new Font("Comic Sans",Font.ITALIC,20));
        txt.setForeground(Color.BLUE);
        txt.setHorizontalAlignment(JTextField.RIGHT);
    }
    public static void main(String[] args)
    {
        new textf();

    }


}

共 (1) 个答案

  1. # 1 楼答案

    我猜您需要设置JTextField的位置(如果没有,请解释“LEFT”属性的含义)

    tf.setBounds(LEFT,tf.getY(),tf.getWidth(),tf.getHeight());