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

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

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

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

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

textual
Листинг программы
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package snake_game;
 
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javafx.event.ActionEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.Timer;
import snake_game_src.Apple;
import snake_game_src.Snake;
 
/**
 *
 * @author ASUS
 */
public class Main extends JPanel implements ActionListener{
    
    public static final int scale = 32;
    public static final int width = 20;
    public static final int height = 20;
    public static final int speed = 5;
    
    Apple a = new Apple((int) (Math.random()*width), (int) (Math.random()*height));
    Snake s = new Snake(10,10,9,10);
    Timer t = new Timer(1000/speed, this);
    
    public Main(){
        t.start();
        addKeyListener (new Keyboard());
        setFocusable(true);
    }
    
    
    public void paint(Graphics g){
        g.setColor(color(150,200,100));
        g.fillRect(0, 0, width*scale, height*scale);
        g.setColor(color(255,255,0));
        
        for(int xx = 0; xx<=width*scale; xx+=scale){
            g.drawLine(xx,0,xx,height*scale);
        }
        
        for(int yy = 0; yy<=width*scale; yy+=scale){
            g.drawLine(0,yy,height*scale,yy);
        }
        
        for (int d = 0; d < s.length; d++)
        {
            g.setColor(Color.blue);
            g.fillRect(s.snakeX[d]*scale+1,s.snakeY[d]*scale+1, scale-1, scale-1);
        }
        
        g.setColor(Color.red);
        g.fillOval(a.posX*scale+1, a.posY*scale+1, scale-1, scale-1);
    }
    
    public Color color(int red, int green, int blue){
        return new Color(red, green, blue);
    }
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setResizable(false);
        //Size
        frame.setSize(width*scale+7, height*scale+36);
        //Window at the center
        frame.setLocationRelativeTo(null);
      
        frame.add(new Main());
        
        //Visiable
        
        frame.setVisible(true);
        
        
        // TODO code application logic here
    }
   
 
  
    public void actionPerformed(java.awt.event.ActionEvent e) {
        s.Move();
        if((s.snakeX[0] == a.posX) & (s.snakeY[0] == a.posY)){
            a.setRandomPos();
            s.length++;
        }
        for (int k = 1; k < s.length; k++){
                if((s.snakeX[k] == a.posX) & (s.snakeY[k] == a.posY)){
                a.setRandomPos();
                }
            }
        
        repaint();
    }
    
    private class Keyboard extends KeyAdapter{
        public void keyPressed (KeyEvent kEvt){
            int key = kEvt.getKeyCode();
            
            if ((key == KeyEvent.VK_RIGHT) & s.direction != 2) s.direction = 0;
            if ((key == KeyEvent.VK_DOWN) & s.direction != 3 ) s.direction = 1;
            if ((key == KeyEvent.VK_LEFT) & s.direction != 0) s.direction = 2;
            if ((key == KeyEvent.VK_UP) & s.direction != 1 ) s.direction = 3;
        }
    } 
}

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


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

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

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