2014-05-23 64 views
0

里面的代码构造函数是:我想改变文本框的宽度动态按钮点击

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

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

+0

你看着JTextField类的?去那里。 Google'JTextField java'你会找到它的。在来到SO之前做研究。 – TheBrenny

回答

0

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

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

+0

我访问了你的链接,是的,它真的帮助了我,但正如你在你的主题中提到的那样,EventQueue.invokeLater(new Runnable(){public void run(){// code})的含义是什么。你的主要方法中的代码.. – user3657838

0

我还没有碰过Java Swing多年,但你有没有尝试过这样的事情?

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

我试图在这里做由5增加JTextBox的列,每次点击按钮时

我不知道,如果这个工程,但我希望我帮你

0

使用这种方法txt.setColumns(yourNewSize);

0

如果你去喜欢,你可以改变大小:

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

然后我很肯定你可以简单地去:

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

只要你按下按钮。