ОХ ТЯЖЕСТЬ
Создаем класс GUI
импорт всех этих библиотек
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
Создаем класс GUI
импорт всех этих библиотек
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
далее по сценарию:
public class GUI extends JFrame{ - встроенные JFRAME
private JButton reg; - создаем 2 переменныех reg И custom - кнопки(JButton Тоже встроено
private JButton custom;
public GUI(){ создаем метод
super("the title"); - супер как мы помним это то, что отображается на окне- типо ярлычка с надписью
setLayout(new FlowLayout()); - стандартный лэйаут
reg= new JButton("Press regular"); - пишем что будет на обычной кнопке
add(reg); - добавляем
И ТУТ ИНТЕРЕСНОЕ
Icon b=new ImageIcon(getClass().getResource("2269072(39x26).png")); подключаем иконки которые будут на кнопке CUSTOM( добавляем картинки так- находим где workspace и кидаем в нужный нам package-src картинки 40х40 png. и потом в эклипсе обновляем refresh src И вуаля они там
Icon x=new ImageIcon(getClass().getResource("2269072(40x27).png")); - тоже самое для другой картинки- которая будет rollover
custom = new JButton("Custom", b); - Jbutton встроена- устанавливаем значение custom- потому что в кавычках- надпись, и b- это иконка
custom.setRolloverIcon(x); - эта строчка настроит ролловер то есть когда наводим курсор
add(custom); - не забываем добавлять
}
}
Далее нам нужно сделать что б что-то происходило
и мы создаем новый класс в классе GUI(тут будет пока ошибка на полях выскакивать- ничо страшного)
HandlerClass handler= new HandlerClass(); создали новый класс to handle the events when we click buttons
reg.addActionListener(handler); - добавляем листнер на обычную кнопку
custom.addActionListener(handler); - и на кастом кнопку
}
все, что здесь описано - мы сделали конструктор
Дальше поступаем так:
создаем новый класс вне конструктора что бы что-то хоть происходило и он будет прайват
создаем новый класс вне конструктора что бы что-то хоть происходило и он будет прайват
private class HandlerClass implements ActionListener{ дада мы можем создавать классы внутри классов(этот класс будет использован в конструкторе при запуске проги)
implement means that we want to use your class in our methods.but we have to override it
public void actionPerformed(ActionEvent event){ создаем метод, который будет сообщать чего мы хотим когда нажимаем на buttons
JOptionPane.showMessageDialog(null,String.format("%s", event.getActionCommand()) );
} - we want a window to popup, and show message dialog with parametrs(null-positioning,.String.format-puts string on a screen, "%s" just gives spase, and event.getActionCOmmand)
}
Идем в класс ЭППЛС
импорт
import javax.swing.JFrame; что б использовать окна
class apples {
public static void main(String[] args){
GUI go=new GUI(); - подключаем класс гуи
go.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);- указываем как закрыться программе
go.setSize(300,200); - размеры окна
go.setVisible(true); - прозрачность- boolean- либо да либо нет.
}
и результат: