2015-11-11 4 views
0

Если я создал JButton с использованием Swing (named butOne) и хочу, чтобы кнопка двигалась, скажем, 10 пикселей вправо при нажатии, у меня есть альтернатива, кроме:Добавление значения в местоположение JButton

butOne.setLocation(butOne.getX() + 10, butOne.getY())?

Возможно, что-то похожее на Visual Basic's butOne.left -= 10? Кажется очень неудобным обходным путем, чтобы получить координату X и координату Y только для ее изменения. Благодарю.

+0

Насколько я ценю ваш ядовитый отклик, это пример того, что Меня интересует общий случай, а не что-то конкретное. –

+1

* ".. ядовитый отклик .." * Кажется, что соответствующий ответ на ядовитый графический интерфейс. –

+0

Поскольку вы должны использовать диспетчер компоновки (не установить абсолютные местоположения), я бы предложил вам изменить маржу на butOne .setMargin (...), чтобы достичь ядовитого графического интерфейса –

ответ

5

Кажется очень неудобным обходным путем, чтобы получить координату X и координату Y только для ее изменения.

Серьезно? Каждый язык делает все по-другому. Не ожидайте, что методы будут сопоставлять один к одному.

у меня есть альтернатива, кроме:

Вы также можете создать себе некоторые вспомогательные классы, чтобы сделать общие функции, которые вы будете использовать для использования:

public class Basic 
{ 
    public static void moveLeft(Component component, int offset) 
    { 
     component.setLocation(component.getX() - offset, component.getY()); 
    } 
} 

Тогда вы можете просто использование:

Basic.moveLeft(button1, 10);