Запуск программы по нажатию на кнопку GUI - Java

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Не могу разобраться Есть кнопка в GUI
Листинг программы
  1. private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
  2. }
Есть класс, который находится в пакадже. Предположим Package1.Main Как запустить этот класс при нажатии на кнопку? Что надо в коде кнопки написать? Заранее благодарен за ответ!!

Решение задачи: «Запуск программы по нажатию на кнопку GUI»

textual
Листинг программы
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package snake_game;
  7.  
  8. import java.awt.Color;
  9. import java.awt.Container;
  10. import java.awt.Graphics;
  11. import java.awt.event.ActionListener;
  12. import java.awt.event.KeyAdapter;
  13. import java.awt.event.KeyEvent;
  14. import javafx.event.ActionEvent;
  15. import javax.swing.JFrame;
  16. import javax.swing.JPanel;
  17. import javax.swing.Timer;
  18. import snake_game_src.Apple;
  19. import snake_game_src.Snake;
  20.  
  21. /**
  22.  *
  23.  * @author ASUS
  24.  */
  25. public class Main extends JPanel implements ActionListener{
  26.    
  27.     public static final int scale = 32;
  28.     public static final int width = 20;
  29.     public static final int height = 20;
  30.     public static final int speed = 5;
  31.    
  32.     Apple a = new Apple((int) (Math.random()*width), (int) (Math.random()*height));
  33.     Snake s = new Snake(10,10,9,10);
  34.     Timer t = new Timer(1000/speed, this);
  35.    
  36.     public Main(){
  37.         t.start();
  38.         addKeyListener (new Keyboard());
  39.         setFocusable(true);
  40.     }
  41.    
  42.    
  43.     public void paint(Graphics g){
  44.         g.setColor(color(150,200,100));
  45.         g.fillRect(0, 0, width*scale, height*scale);
  46.         g.setColor(color(255,255,0));
  47.        
  48.         for(int xx = 0; xx<=width*scale; xx+=scale){
  49.             g.drawLine(xx,0,xx,height*scale);
  50.         }
  51.        
  52.         for(int yy = 0; yy<=width*scale; yy+=scale){
  53.             g.drawLine(0,yy,height*scale,yy);
  54.         }
  55.        
  56.         for (int d = 0; d < s.length; d++)
  57.         {
  58.             g.setColor(Color.blue);
  59.             g.fillRect(s.snakeX[d]*scale+1,s.snakeY[d]*scale+1, scale-1, scale-1);
  60.         }
  61.        
  62.         g.setColor(Color.red);
  63.         g.fillOval(a.posX*scale+1, a.posY*scale+1, scale-1, scale-1);
  64.     }
  65.    
  66.     public Color color(int red, int green, int blue){
  67.         return new Color(red, green, blue);
  68.     }
  69.  
  70.     /**
  71.      * @param args the command line arguments
  72.      */
  73.     public static void main(String[] args) {
  74.         JFrame frame = new JFrame();
  75.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  76.         frame.setResizable(false);
  77.         //Size
  78.         frame.setSize(width*scale+7, height*scale+36);
  79.         //Window at the center
  80.         frame.setLocationRelativeTo(null);
  81.      
  82.         frame.add(new Main());
  83.        
  84.         //Visiable
  85.        
  86.         frame.setVisible(true);
  87.        
  88.        
  89.         // TODO code application logic here
  90.     }
  91.    
  92.  
  93.  
  94.     public void actionPerformed(java.awt.event.ActionEvent e) {
  95.         s.Move();
  96.         if((s.snakeX[0] == a.posX) & (s.snakeY[0] == a.posY)){
  97.             a.setRandomPos();
  98.             s.length++;
  99.         }
  100.         for (int k = 1; k < s.length; k++){
  101.                 if((s.snakeX[k] == a.posX) & (s.snakeY[k] == a.posY)){
  102.                 a.setRandomPos();
  103.                 }
  104.             }
  105.        
  106.         repaint();
  107.     }
  108.    
  109.     private class Keyboard extends KeyAdapter{
  110.         public void keyPressed (KeyEvent kEvt){
  111.             int key = kEvt.getKeyCode();
  112.            
  113.             if ((key == KeyEvent.VK_RIGHT) & s.direction != 2) s.direction = 0;
  114.             if ((key == KeyEvent.VK_DOWN) & s.direction != 3 ) s.direction = 1;
  115.             if ((key == KeyEvent.VK_LEFT) & s.direction != 0) s.direction = 2;
  116.             if ((key == KeyEvent.VK_UP) & s.direction != 1 ) s.direction = 3;
  117.         }
  118.     }
  119. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.462 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут