Wiele klas - jar

0

Hej.

  1. Czy da się zrobić tak żebym nie musiał w konsoli wypisywać wszystkich klas, aby sprowadzić to do pliku jar?
    Załączam kod:
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;


public class kalkulator 
{
	static JTextField pole;
	public static void main(String[] args) 
	{
		JFrame okno = new JFrame("KALKULATOR");
		okno.setSize(500, 500);
		okno.setLocation(450, 100);
		okno.setResizable(false);
		okno.setLayout(null);	//Sami ustalamy pozycje
		okno.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		pole = new JTextField();
		pole.setBounds(10, 10, 130, 45);
		Font f = new Font("Czcionka", Font.BOLD, 24);
		pole.setFont(f);
		pole.setHorizontalAlignment(JTextField.RIGHT);
		okno.add(pole);
		
		JButton przycisk = new JButton("1");
		przycisk.setBounds(10, 70, 50, 50);
		przycisk.setBorder(null);
		okno.add(przycisk);
		
		JButton przycisk2 = new JButton("2");
		przycisk2.setBounds(80, 70, 50, 50);
		przycisk2.setBorder(null);
		okno.add(przycisk2); 
		
		JButton przycisk3 = new JButton("3");
		przycisk3.setBounds(150, 70, 50, 50);
		przycisk3.setBorder(null);
		okno.add(przycisk3);
		
		JButton przycisk4 = new JButton("4");
		przycisk4.setBounds(10, 150, 50, 50);
		przycisk4.setBorder(null);
		okno.add(przycisk4);
		
		JButton przycisk5 = new JButton("5");
		przycisk5.setBounds(80, 150, 50, 50);
		przycisk5.setBorder(null);
		okno.add(przycisk5);
		
		JButton przycisk6 = new JButton("6");
		przycisk6.setBounds(150, 150, 50, 50);
		przycisk6.setBorder(null);
		okno.add(przycisk6);
		
		JButton przycisk7 = new JButton("7");
		przycisk7.setBounds(10, 230, 50, 50);
		przycisk7.setBorder(null);
		okno.add(przycisk7);
		
		JButton przycisk8 = new JButton("8");
		przycisk8.setBounds(80, 230, 50, 50);
		przycisk8.setBorder(null);
		okno.add(przycisk8);
		
		JButton przycisk9 = new JButton("9");
		przycisk9.setBounds(150, 230, 50, 50);
		przycisk9.setBorder(null);
		okno.add(przycisk9);
		
		JButton przycisk0 = new JButton("0");
		przycisk0.setBounds(80, 310, 50, 50);
		przycisk0.setBorder(null);
		okno.add(przycisk0);
		
		JButton oblicz = new JButton("=");
		oblicz.setBounds(150, 310, 50, 50);
		oblicz.setBorder(null);
		okno.add(oblicz);
		
		przycisk.addActionListener(new ActionListener()
		{

			public void actionPerformed(ActionEvent arg0) 
			{
				pole.setText(pole.getText() + "1");
			}
			
		});
		
		przycisk2.addActionListener(new ActionListener()
		{

			public void actionPerformed(ActionEvent arg0) 
			{
				pole.setText(pole.getText() + "2");
			}
			
		});
		
		przycisk3.addActionListener(new ActionListener()
		{

			public void actionPerformed(ActionEvent arg0) 
			{
				pole.setText(pole.getText() + "3");
			}
			
		});
		
		przycisk4.addActionListener(new ActionListener()
		{

			public void actionPerformed(ActionEvent arg0) 
			{
				pole.setText(pole.getText() + "4");
			}
			
		});
		okno.setVisible(true);
		
		przycisk5.addActionListener(new ActionListener()
		{

			public void actionPerformed(ActionEvent arg0) 
			{
				pole.setText(pole.getText() + "5");
			}
			
		});
		
		przycisk6.addActionListener(new ActionListener()
		{

			public void actionPerformed(ActionEvent arg0) 
			{
				pole.setText(pole.getText() + "6");
			}
			
		});
		
		przycisk7.addActionListener(new ActionListener()
		{

			public void actionPerformed(ActionEvent arg0) 
			{
				pole.setText(pole.getText() + "7");
			}
			
		});
		
		przycisk8.addActionListener(new ActionListener()
		{

			public void actionPerformed(ActionEvent arg0) 
			{
				pole.setText(pole.getText() + "8");
			}
			
		});
		
		przycisk9.addActionListener(new ActionListener()
		{

			public void actionPerformed(ActionEvent arg0) 
			{
				pole.setText(pole.getText() + "9");
			}
			
		});
		
		przycisk0.addActionListener(new ActionListener()
		{

			public void actionPerformed(ActionEvent arg0) 
			{
				pole.setText(pole.getText() + "0");
			}
			
		});
		
		oblicz.addActionListener(new ActionListener()
		{

			public void actionPerformed(ActionEvent arg0) 
			{
				String a = pole.getText();

			}
			
		});

	}

}

Mam w tym przypadku 12 klas, da się to zrobić szybciej niż żmudne pisanie w konsoli?


  1. Korzystam z tego poradnika \http://www.youtube.com/watch?v=4rYnANU0neU\ na czwartej minucie edytuje plik MANIFEST.MF. Ja mając winrara nie mogę go edytować. On ma archiwizer winrar, gdzie to pobrac, szukałem i wyszukuje mi zwykłego winrara.

dodanie znacznika <code class="java"> - fp

1

Użyć mavena albo exportować jara z poziomu IDE?

0

Edytuje plik MANIFEST.MF w ten sposób:

Manifest-Version: 1.0
Created-By: 1.7.0 (Oracle Corporation)
Main-Class: Kalkulator

I dalej traktuje mi go jako archiwum otwierając winrarem.
Jak go otworzyć tak jak na filmie?

0

Masz zły manifest, Twoja klasa nazywa się kalkulator, a nie Kalkulator.

0
bogdans_nz napisał(a):

Masz zły manifest, Twoja klasa nazywa się kalkulator, a nie Kalkulator.

Zmiana wielkości litery nie pomogła. Cały czas otwiera jako archiwum.

0

A czy czasem nie dodałeś przypadkiem w windowsie powiazania żeby otwierać jary jako archiwa? Sprawdź w sobie w typach plików...

0

@rubesom tak jak pisze @Shalom, oraz otw,orz terminal na windowsie(cmd.exe) i wpisz polecenie:
java -jar kalkulator.jar
I zobacz czy się uruchomi, a jak nie to jakie informacje o błędach pokazuje.

0
Shalom napisał(a):

A czy czasem nie dodałeś przypadkiem w windowsie powiazania żeby otwierać jary jako archiwa? Sprawdź w sobie w typach plików...

Zadziałało... A jak to zrobić jeżeli dam koledze mój program i chce żeby on go otworzył, to jak to zoptymalizować? Chcę żeby otwierało się jako typowy plik java.

A jak się uporać z dużą ilością klas? Trzeba wszystko wypisywać w konsoli czy jest jakaś inna metoda? A może mam źle napisany kod? Po prostu musiałem wpisać do konsoli 12 klas co jest trochę uciążliwe.

1

@rubesom możesz zrobić skrypt który wywołuje
java -jar cośtam.jar
;)
Co to tworzenia jara to już pisałem - są narzędzia do automatycznego budowania...

1 użytkowników online, w tym zalogowanych: 0, gości: 1