2014-01-03 2 views
0

Боюсь, у меня нет никакого кода, потому что я действительно не знаю, что делаю. Я пытаюсь изучить Java, создав базовую игру и хочу создать меню. То, что я хочу сделать, - это класс с пользовательским JButton (в основном JButton определенного размера и картинка на заднем плане, отформатированная специально и т. Д.), Которые могут быть вызваны из другого класса и заданы пользовательским текстом при его вызове. Мой вопрос: как создать пользовательскую кнопку, которую можно вызвать извне?Как создать пользовательский класс JButton в Java?

+0

Есть ли что-то неправильное в использовании 'setText' и' setIcon' 'JButton'? Каковы конкретные требования к формату, которые вам нужны? Вы знаете, что вы можете использовать HTML для форматирования «String» в Swing и предоставить его большинству элементов управления? – MadProgrammer

+0

Я не знал об этом, благодарю вас. То, что я пытаюсь сделать, - это упростить работу с помощью настраиваемого класса кнопок, который я могу вызывать несколько раз, а не создавать несколько JButtons, а затем форматировать их отдельно. –

ответ

2

создать класс и распространить его на JButton, как показано ниже, и там вы можете изменить весь вид вещей, которые должен сделать с JButton.

import javax.swing.JButton; 

public class CustomJButton extends JButton { 

    public CustomJButton() { 
     this.setText("Custom JButton"); 
     // initialize 
    } 

    // add your own methods or override JButton methods 
    public void myFunc(){ 

    } 
} 
0

Нет этой кнопки JButton вы можете создать новую как обычно, MyButton btn = new MyButton(); Вы просто добавили дополнительный метод, который будет отформатировать его так, как вы хотите. Если вы хотите узнать больше об этой теме, посмотрите на наследование объектов.

public MyButton extends JButton{ 


    public void doStuff(){ 
    this.setBackground("yourBackground"); 
    ... 
    } 

} 
+0

У меня это получилось ... Но как настроить кнопку? Создать JButton в этом классе, отредактировать материал об этом, а затем вызвать его в другом классе? –

2

В конструкторе для пользовательских JButton, вы хотите, чтобы принять параметр, который определяет текст, который вы хотите кнопку, чтобы содержать, и вы будете указать другие вещи, которые вы не хотите, чтобы изменить от экземпляра к экземпляру, такого как размер или фоновое изображение.

import javax.swing.*; 

class MyButton extends JButton{ 

    public MyButton(String text){ 
     super(text); 
     ...set size, add background image, etc... 
    } 
} 
Смежные вопросы