Код выше отлично работает. Может быть, это сработало для вас, но вы не понимали, потому что созданное окно очень мало. Возможно также, что вы пытались экспортировать его в файл .jar
, но не указали в манифесте, что должно быть Main-Class
. В зависимости от используемого средства IDE или сборки, способ может отличаться. Также может быть, что вы просто еще не знаете, как заставить этот код работать вообще, т. Е. Компилировать и запускать Java-код. В этом случае вам нужно узнать о javac
и java
, которые включены в Java SDK.
Если вы используете Java 8, вы действительно можете упростить код. Вам не нужен обработчик исключений, который печатает трассировку стека, EventQueue
уже делает это для вас.
package math;
import javax.swing.*;
import java.awt.*;
public class Main {
public static void main(String[] args) {
EventQueue.invokeLater(() -> {
JFrame window = new JFrame();
window.setVisible(true);
});
}
}
или, если код в отдельный метод:
package math;
import javax.swing.*;
import java.awt.*;
public class Main {
public static void main(String[] args) {
EventQueue.invokeLater(Main::initUI);
}
private static void initUI() {
JFrame window = new JFrame();
window.setVisible(true);
}
}
Если initUI()
должен быть метод экземпляра, вы могли бы сделать это следующим образом:
package math;
import javax.swing.*;
import java.awt.*;
public class Main {
public static void main(String[] args) {
new Main();
}
Main() {
EventQueue.invokeLater(this::initUI);
}
private void initUI() {
JFrame window = new JFrame();
window.setVisible(true);
}
}
экспортом сделать вы имеете в виду упаковку в банку? если это так, и двойной щелчок на банке не открывает окно, попробуйте «java -jar MyJar.jar» в командной строке, чтобы получить сообщения об ошибках, которые могут произойти – EyeSpy
Вы говорите, что США являются конкретными? –