Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
 Swing приложение  [new]
Damir_85
Member

Откуда:
Сообщений: 254
Здравствуйте.
Есть вот такой код приложения. где должна выводится форма с меткой по центру:
import javax.swing.*; 
  
class SwingDemo { 
 
  SwingDemo() { 
 
    // Create a new JFrame container. 
    JFrame jfrm = new JFrame("A Simple Swing Application"); 
 
    // Give the frame an initial size. 
    jfrm.setSize(275, 100); 
 
    // Terminate the program when the user closes the application. 
    jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
 
    // Create a text-based label. 
    JLabel jlab = new JLabel(" Swing defines the modern Java GUI."); 
 
    // Add the label to the content pane. 
    jfrm.add(jlab); 
 
    // Display the frame. 
    jfrm.setVisible(true); 
  } 
 
  public static void main(String args[]) { 
    // Create the frame on the event dispatching thread. 
    SwingUtilities.invokeLater(new Runnable() { 
      public void run() { 
        new SwingDemo(); 
      } 
    }); 
  } 
}

Я пока не работаю ни с каким IDE, все приложения запускаю из консоли, т.к. только учусь программировать на Java.
А как запустить его? Пишет что не найден файл при команде в консоле: javac SwingDemo.java. Насколько я понял, нужно чтобы имя файла с именем класса совпадало.
9 ноя 20, 19:21    [22229009]     Ответить | Цитировать Сообщить модератору
 Re: Swing приложение  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Damir_85,
Начни с main и внутри вывод в консоль Hello world.
Получилось?
9 ноя 20, 19:26    [22229020]     Ответить | Цитировать Сообщить модератору
 Re: Swing приложение  [new]
Damir_85
Member

Откуда:
Сообщений: 254
PetroNotC Sharp
Damir_85,
Начни с main и внутри вывод в консоль Hello world.
Получилось?


Да, консольные программы я уже прошел. Речь идет именно о графическом интерфейсе
9 ноя 20, 19:29    [22229022]     Ответить | Цитировать Сообщить модератору
 Re: Swing приложение  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Damir_85,
Теперь в РАБОТАЮЩУЮ добавляй по одной строке из свинг или из чего угодно.
9 ноя 20, 19:34    [22229026]     Ответить | Цитировать Сообщить модератору
 Re: Swing приложение  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Damir_85,
И некрасиво писать ГУИ не используя IDE
9 ноя 20, 19:35    [22229028]     Ответить | Цитировать Сообщить модератору
 Re: Swing приложение  [new]
Damir_85
Member

Откуда:
Сообщений: 254
import javax.swing.*;

class SwingDemo { 
 
  SwingDemo() { 
 
    // Create a new JFrame container. 
    JFrame jfrm = new JFrame("A Simple Swing Application"); 
 
    // Give the frame an initial size. 
    jfrm.setSize(275, 100); 
 
    // Terminate the program when the user closes the application. 
    jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
 
    // Create a text-based label. 
    JLabel jlab = new JLabel(" Swing defines the modern Java GUI."); 
 
    // Add the label to the content pane. 
    jfrm.add(jlab); 
 
    // Display the frame. 
    jfrm.setVisible(true); 
  } 
 
  public static void main(String args[]) { 
    // Create the frame on the event dispatching thread. 
    SwingUtilities.invokeLater(new Runnable() { 
      public void run() { 
        new SwingDemo(); 
      } 
    }); 
  } 
}

class Example{
  public static void main(String args[]){
    SwingDemo swg=new SwingDemo();
  }
}


Спасибо. Вот так заработало. Меня сбило то, что метод main объявляется внутри класса SwingDemo чтобы приложением управлял диспетчер потоков, и подумал что больше метод main не нужен.
Насчет IDE это конечно само собой, вручную задавать координаты и создавать объекты это не дело
9 ноя 20, 19:54    [22229044]     Ответить | Цитировать Сообщить модератору
 Re: Swing приложение  [new]
Garrick
Member

Откуда: Москва
Сообщений: 3067
Damir_85

Насчет IDE это конечно само собой, вручную задавать координаты и создавать объекты это не дело

Попробуйте MIG Layout.
К сожалению это не часть JDK, а отдельная библиотека.
10 ноя 20, 11:34    [22229405]     Ответить | Цитировать Сообщить модератору
 Re: Swing приложение  [new]
Damir_85
Member

Откуда:
Сообщений: 254
Garrick
Damir_85

Насчет IDE это конечно само собой, вручную задавать координаты и создавать объекты это не дело

Попробуйте MIG Layout.
К сожалению это не часть JDK, а отдельная библиотека.

Я читал, что компоненты библиотеки Swing не изменяют своего внешнего вида в зависимости от платформы, т.е. какой стиль применил программист, так и они будут выглядеть. На картинке форма выглядит достаточно стильно. Скажите, эта библиотека тоже независимао от платформы? Я просто смотрю там даже сверху на форме в левом верхнем углу изображены три шарика в стеклянном дизайне. Это библиотека такие формы может создавать?
10 ноя 20, 18:06    [22229730]     Ответить | Цитировать Сообщить модератору
 Re: Swing приложение  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Damir_85,

Шарики это на маках только вроде
10 ноя 20, 19:04    [22229766]     Ответить | Цитировать Сообщить модератору
 Re: Swing приложение  [new]
mayton
Member

Откуда: loopback
Сообщений: 49768
Лет 10 назад я пробовал использовать https://www.randelshofer.ch/quaqua/ для своих нужд.

Не взлетело у меня. На их демо-примерах все красиво. Но на моих приложениях
дизайн смотрелся как то не так. Я уж не помню что именно но я в конце вернулся
к обычному Windows Look and Feel.

Я думаю что недостаточно просто взять дизайн со стеклянными шариками. Нужно чтобы
поведение этого дизайна вам подходило.
10 ноя 20, 19:39    [22229776]     Ответить | Цитировать Сообщить модератору
 Re: Swing приложение  [new]
Garrick
Member

Откуда: Москва
Сообщений: 3067
Damir_85

Я читал, что компоненты библиотеки Swing не изменяют своего внешнего вида в зависимости от платформы, т.е. какой стиль применил программист, так и они будут выглядеть. На картинке форма выглядит достаточно стильно. Скажите, эта библиотека тоже независимао от платформы? Я просто смотрю там даже сверху на форме в левом верхнем углу изображены три шарика в стеклянном дизайне. Это библиотека такие формы может создавать?


Это не библиотека для дизайна элементов, это раскладка (layout) для Swing чтобы удобнее было "вручную задавать координаты и создавать объекты". Вы же знаете что для "рисования" формы в Swing есть несколько видов layout (раскладок). Это ещё один "Easy to use yet very powerful Java Swing, JavaFX and SWT layout manager". Принцип действия похож на формирование HTML таблицы. См. как это работает MiG Layout Quick Start Guide

Damir_85
Я просто смотрю там даже сверху на форме в левом верхнем углу изображены три шарика в стеклянном дизайне. Это библиотека такие формы может создавать?

Да, это скриншот с MacOS, запустите своё Swing или SWT приложение на маке и у вас будет так же. Тема MacOS доступна для Swing только в среде MacOS, в Windows или Linux её включить не получится. Лицензионные ограничения Apple.

Сообщение было отредактировано: 11 ноя 20, 11:26
11 ноя 20, 11:26    [22230011]     Ответить | Цитировать Сообщить модератору
Все форумы / Java Ответить