2014-02-12 5 views
0

[SOLVED] Я использую Swing, у меня есть JPanel, и в нем есть JTextArea и JButton. Я хочу, чтобы JTextArea двигался при нажатии кнопки. Я не совсем уверен, как сделать прослушиватель действий для кнопки. На данный момент JTextArea перемещается только один раз, когда нажимается кнопка, но я хочу, чтобы она перемещалась каждый раз, когда нажимается кнопка.Как изменить расположение JTextArea во время выполнения?

это то, что я до сих пор: x = 20 moveButton = new JButton("MOVE"); moveButton.setName("move"); moveButton.setBounds(20, 140, 70, 40);

text = new JTextArea("-->"); 
text.setEditable(false); 
text.setBounds(x, 50, 40, 20); 

panel.add(moveButton); 
panel.add(text); 

В методе actionPerformed это то, что он делает:

text.setBounds(x + 50, 50, 40, 20); 
panel.add(text); 
text.setVisible(true); 

любая помощь очень ценится.

Я также отправил этот вопрос на: Java-Fourms

+0

Возможно, лучший вопрос: _why_ вы хотите, чтобы он двигался. Чего вы пытаетесь достичь именно? –

+0

У меня есть список Jlabels, и я хочу переместить Jtextarea (как указатель), когда новые jlabels добавляются в список, jtextarea указывает на новый ярлык ... Я создаю визуализацию очереди. – user3232384

+0

Посмотрите на маршрут [Перетаскивание] (http://docs.oracle.com/javase/tutorial/uiswing/dnd/index.html), возможно, вы найдете что-то, что поможет вам. –

ответ

1

Что такое значение х переменной? Нам нужно больше кода, чтобы помочь вам.

Что я подозреваю, вы не увеличиваете x и постоянно перемещаетесь в одно и то же место.

Например, если x = 30 и вы переходите к x + 50, оно всегда будет идти до 80. Таким образом, вы также можете увеличить x в прослушивателе кнопок - что-то вроде x + = 50;

+0

ваше право, я не увеличивал x, поэтому поэтому он не двигался более одного раза. который благодарит вас за вашу помощь. – user3232384

+0

Рад, что я помог, можете ли вы пометить ответ как принятый, если он решил вашу проблему? – korhner

Смежные вопросы