Java, a program wykonywalny

Java, a program wykonywalny
Sevox
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 9 lat
  • Postów:83
0

Witam, otóż od paru dni uczę się Javy, przeszedłem już do graficznego aspektu. Mianowicie javax.swing, pisze sobie te programiki w Eclipse, no dobra pisze i pisze i co? I nic. Mam wrażenie że te moje programy da się odpalić tylko w tym nieszczęsnym Eclipsie, w folderze projektu mam jedynie pliki .class i .java no i jakieś tam inne .form i inne, ale żadnego którego mógłby odpalić jakiś zwykły śmiertelnik który nie pisze w Javie. Podsumowując, chciałbym aby moje programiki można było odpalić na każdym kompie. Jak to zrobić?!

Wibowit
  • Rejestracja:około 20 lat
  • Ostatnio:około 9 godzin
1

Wyeksportuj do Runnable JARa. Dostaniesz wtedy JARa, którego powinno się dać odpalić przez dwuklik, mając oczywiście co najmniej JRE.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
edytowany 1x, ostatnio: Wibowit
LN
  • Rejestracja:około 16 lat
  • Ostatnio:około rok
  • Postów:1398
1

Spakować do .jar. Klikasz prawym przyciskiem myszy na projekcie -> Export -> Runnable jar i dalej wg wskazówek kreatora.

Sevox
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 9 lat
  • Postów:83
0

Podczas Exportowania mam pewien błąd :

JAR export finished with warnings. See details for additional information.
Exported with compile warnings: Przelicznik/src/Przelicznik.java

Nigdzie mi nie pisze jakie są to warningi, niby program działa ale co mogło pójść nie tak?

LN
  • Rejestracja:około 16 lat
  • Ostatnio:około rok
  • Postów:1398
0

Jak to nie jest napisane ? Jest - sa to warningi, ktore CALY CZAS masz w pliku Przelicznik.java.

I wszystko poszlo ok. To jest tylko informacja, ze BYLY JAKIES WARNINGI. Warning to nie blad.

Sevox
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 9 lat
  • Postów:83
0

No ok, a to jeszcze napiszę żeby nie zaśmiecać forum. Jak zmienić color tła w programie? .setBackground(Color.BLUE); nie chce mi działać, albo ja go źle używam... Poniżej podaje kod mojego programu, jakby ktoś mógł mi napisać gdzie mam to wklepać to byłbym wdzięczny.

Kopiuj
import java.awt.Color;
import java.awt.Font;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class Przelicznik extends JFrame
{
	private JLabel lMetr, lKilometr;
	private JTextField tMetr, tKilometr;
	public Przelicznik()
	{
		setSize(800, 600);
		setTitle("Przelicznik");
		setLayout(null);
		setResizable(false);
		
		
		/* Labele */
		
		// Metry na sekunde
		lMetr = new JLabel("m/s");
		lMetr.setBounds(150, 50, 100, 50);
		lMetr.setFont(new Font("Times New Roman", Font.BOLD, 30));
		lMetr.setForeground(Color.GREEN);
		add(lMetr);
		
		// Kilometry na sekunde
		lKilometr = new JLabel("km/h");
		lKilometr.setBounds(300, 50, 100, 50);
		lKilometr.setFont(new Font("Times New Roman", Font.BOLD, 30));
		lKilometr.setForeground(Color.GREEN);
		add(lKilometr);
		
		/* TextFieldy */
		
		// Metry na sekunde
		tMetr = new JTextField("");
		tMetr.setBounds(50, 50, 100, 50);
		tMetr.setFont(new Font("Arial", Font.PLAIN, 25));
		add(tMetr);
		
		// Kilometry na sekunde
		tKilometr = new JTextField("");
		tKilometr.setBounds(195, 50, 100, 50);
		tKilometr.setFont(new Font("Arial", Font.PLAIN, 25));
		tKilometr.setBackground(new Color(118, 238, 0));
		add(tKilometr);
		
		
		
	}

	public static void main(String[] args)
	{
		Przelicznik ramka = new Przelicznik();
		ramka.setVisible(true);
		ramka.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		
	}

}
LN
  • Rejestracja:około 16 lat
  • Ostatnio:około rok
  • Postów:1398
0

Nie wiem, poszukaj na necie ;) Skoro setBackground() na frame nie dziala. A przy okazji - poczytajo SwingUtils.invokeLater() bo w ten sposob, jak Ty to robisz, to nie uruchamia sie programow SWINGa.

Sevox
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 9 lat
  • Postów:83
0

Co to znaczy "nie uruchamia się"? Próbowałem ten program .jar odpalić na innym kompie i działał.

LN
Oznacza "nie powinno się tak robić, gdyż raz na kilkadziesiąt uruchomień możesz otrzymać dziwaczne błędy związane z wielowątkowością"
KN
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 12 lat
  • Postów:12
0

setBackground() nie działa na JFrame, to normalne. Usuń tą funkcję lub zmodyfikuj program używając JPanel :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.