ОХ ТЯЖЕСТЬ
Создаем класс 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- либо да либо нет.
 }
и результат:


Комментариев нет:
Отправить комментарий