Java, a program wykonywalny

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ć?!

1

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

1

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

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?

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.

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.

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);
		
		
	}

}
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.

0

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

0

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

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