【问题标题】:I want to change the width of textfield dynamically on button click我想在按钮单击时动态更改文本字段的宽度
【发布时间】:2014-07-12 19:30:25
【问题描述】:

构造函数里面的代码是:

{
    JTextField txt = new JTextField(10);
    JPanel jp = new JPanel();
    jp.add(txt);
    JButton btn1 = new JButton("change");
    jp.add(btn1);
}

我只是停留在我的 actionPerformed 方法中。我可以在这里编码什么?

【问题讨论】:

  • 你看过 JTextField 类吗?去那里。谷歌'JTextField java' 你会找到它。在来 SO 之前做一些研究。

标签: java


【解决方案1】:

在匿名块中,您必须设置文本字段的大小。

 JButton btnChangeWidth = new JButton("Change width");
 btnChangeWidth.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent arg0) {
         textField.setSize(x, y);

     }
 });

别忘了在容器上添加按钮..

更多参考您可以访问这里http://cshotopics.blogspot.in/2014/05/how-to-change-width-of-textfield.html

【讨论】:

  • 我访问了您的链接,是的,它确实对我有帮助,但是正如您在主题中提到的 EventQueue.invokeLater(new Runnable() {public void run() { // code }) 的含义是什么;您的主要方法中的代码..
【解决方案2】:

我已经很多年没有接触过 Java Swing,但是你尝试过类似的东西吗?

public void actionPerformed(ActionEvent evt) {
     int currentCols = txt.getColumns();
     txt.setColumns(currentCols + 5);
}

我在这里要做的是将 JTextBox 的列增加 5,每次单击按钮时

我不确定这是否有效,但我希望对你有所帮助

【讨论】:

    【解决方案3】:

    你可以使用这个方法txt.setColumns(yourNewSize);改变大小

    【讨论】:

      【解决方案4】:

      如果你喜欢:

      ((the JFrames name) if do not extend JFrame).setLayout(null);
      

      那么我很确定你可以直接去:

      txt.setSize(newSizeX, newSizeY) //in pixels
      

      无论何时按下按钮。

      【讨论】:

        猜你喜欢
        • 2019-12-21
        • 1970-01-01
        • 1970-01-01
        • 2018-10-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多