Запуск программы по нажатию на кнопку GUI - Java
Формулировка задачи:
Здравствуйте!
Не могу разобраться
Есть кнопка в GUI
Есть класс, который находится в пакадже. Предположим Package1.Main
Как запустить этот класс при нажатии на кнопку? Что надо в коде кнопки написать?
Заранее благодарен за ответ!!
Листинг программы
- private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
- }
Решение задачи: «Запуск программы по нажатию на кнопку 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;
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д