BG Development


  Reply to this topicStart new topicStart Poll

> IntelliJ - how to visualise Jpanel in console app, УЖАС !
NikB
Публикувано на: 07-03-2022, 16:13
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1094
Регистриран на: 22.09.05



IntelliJ - how to visualise Jpanel in console app

Къде да чета? Не задавам правилния въпрос на Гугъл icon_smile.gif, та да питам тук

За един приятел джътнах конзолно тестче на Java
CODE
class DrawPanel extends JPanel implements MouseMotionListener, MouseListener
...

,
но нещата се усложняват и бих искал класовете, които компилирам с
javac
и стартирам с
java
да мога да ги активирам в конзолен проект в IntelliJ

Направих си конзолен проект, компилира се, но не мога да активирам Show на наследника на JPanel (DrawPanel):
CODE
package com.company;

public class Main {

   public static void main(String[] args) {
       DrawPanel x = new DrawPanel();
       while (true);
   }
}


PMEmail Poster
Top
NikB
Публикувано на: 07-03-2022, 16:37
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1094
Регистриран на: 22.09.05



Извинявам се - нещо се обърка и станаха две еднакви теми - не виждам от къде се трие icon_smile.gif тема.
PMEmail Poster
Top
Bender++
Публикувано на: 07-03-2022, 17:02
Quote Post



Име:
Група: Потребител
Ранг: Редовен член

Мнения: 320
Регистриран на: 18.04.21



Въпроса ти е безсмислен - конзолните апове нямат УЙ, така че няма как да визуализираш никакъв панел в конзолен апп. Конзолния апп си е конзолен.


--------------------
Ваксините са лъжа и НЕ работят! Не на ковид фашизма!
Слава на Цар Путин! Долу украинските фашисти!
Слава на героите - Z V
PMEmail Poster
Top
NikB
Публикувано на: 07-03-2022, 17:10
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1094
Регистриран на: 22.09.05



Уф, и не може да се пусне лесно UI нишка, с каквото й трябва ли?
Добре, ако не може, ще изчета как се прави UI проект icon_smile.gif
PMEmail Poster
Top
thrawn
Публикувано на: 07-03-2022, 17:15
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 3317
Регистриран на: 17.01.17



Не ти трябва да въртиш собствен цикъл. При стартиране на swing приложение то ще си стартира UI нишка и ще пренесе обработката на събитията си там. По спецификация, платформата ще изчака всички "не демон" нишки да завършат и чак тогава ще спре приложението.

Хубаво е обаче инициализирането на sinwg компонентите също да стане в тази нишка. Затова пренеси създаването на DrawPanel от главната нишка в тази на swing.

Също така JPanel трябва да се постави в активна рамка която пък да обработва взаимодействието с UI-a на операционната система.

Като цяло, скелет за swing приложение би изглеждал така:
CODE
class MainFrame extends JFrame {

      private void createGUI() {
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
            add(new DrawPanel());
            ...
            pack();
            setLocationRelativeTo(null);
      }

      public static void main(String arg[]) {
            SwingUtilities.invokeLater(() -> {
                  MainFrame mainFrame = new MainFrame();
                  mainFrame.createGUI();
                  mainFrame.setVisible(true);
            });
      }
}


//офф
абе това го писах директно тука, явно не се справям без IDE...

Това мнение е било редактирано от thrawn на 07-03-2022, 17:19
PMEmail Poster
Top
NikB
  Публикувано на: 07-03-2022, 18:06
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1094
Регистриран на: 22.09.05



QUOTE (thrawn @ 07-03-2022, 17:15)
Не ти трябва ....

Благодаря много, спестихте ми маса време (thrawn и Bender++)!
icon_smile.gif icon_smile.gif icon_smile.gif

Това мнение е било редактирано от NikB на 07-03-2022, 18:06
PMEmail Poster
Top
ici
Публикувано на: 07-03-2022, 19:06
Quote Post


Group Icon
Име: Ивайло Илчев
Група: VIP
Ранг: Почетен член

Мнения: 17873
Регистриран на: 06.06.04



Може да 'фърлиш едно око на headless. icon_idea.gif

System.setProperty("java.awt.headless", "true");


--------------------
Ние не сме в една лодка, ние сме в една буря. Лодките са различни.

Следващият път когато се почувстваш ненужен, грозен и недооценен, помни че освен това си и тъп.
PMEmail PosterUsers Website
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0