169 похожих чатов

Как сделать так что бы загрузка отображалась в отдельном окне

во frame2? Если вызывать его в main то все ок, а если через другой констректор то он просто пустой висит.
package org.example;

import javax.swing.*;
import java.awt.*;
import java.io.IOException;
public class Frame extends JFrame {

public Frame() throws HeadlessException, InterruptedException, IOException {

JFrame progressFrame = new JFrame();
progressFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
progressFrame.setSize(500, 500);
progressFrame.setLayout(new GridLayout());
progressFrame.setTitle("Scanning");

Clas clas = new Clas();
clas.getFrame();

JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 500);
frame.setLayout(new GridLayout());
frame.setTitle("Frame");

JPanel mainPanel = new JPanel();
mainPanel.setBackground(Color.BLACK);
mainPanel.setLayout(null); // устанавливаем для панели panel1 BorderLayout

JPanel infoPanel = new JPanel();
infoPanel.setBackground(Color.WHITE);
infoPanel.setBounds(10,10,300,100);
infoPanel.setLayout(null);

JPanel buttonsPanel1 = new JPanel();
buttonsPanel1.setBackground(Color.green);
buttonsPanel1.setBounds(10, 120, 480, 200);
buttonsPanel1.setLayout(null);
JButton button1 = new JButton();
button1.setBackground(Color.BLACK);
button1.setBounds(10,10,30,30);
buttonsPanel1.add(button1);

JPanel buttonsPanel2 = new JPanel();
buttonsPanel2.setBackground(Color.yellow);
buttonsPanel2.setBounds(10, 120, 480, 200);

String[] panels = {"panel1", "panel2"};
JComboBox<String> comboBox = new JComboBox<>(panels);
comboBox.setBackground(Color.magenta);
comboBox.setBounds(10,400, 50,20);

CardLayout cardLayout = new CardLayout();
JPanel cardPanel = new JPanel(cardLayout);
cardPanel.setBackground(Color.WHITE);
cardPanel.setBounds(10, 120, 480, 200);
cardPanel.add(buttonsPanel1, "panel1");
cardPanel.add(buttonsPanel2, "panel2");

comboBox.addActionListener(e -> {
String select = (String) comboBox.getSelectedItem();
cardLayout.show(cardPanel, select.toLowerCase());
});

mainPanel.add(infoPanel);
mainPanel.add(cardPanel);
mainPanel.add(comboBox);

frame.add(mainPanel);

frame.setVisible(true);
}

public static void main(String[] args) throws IOException, InterruptedException {

SwingUtilities.invokeLater(() -> {
try {
new Frame();
} catch (InterruptedException e) {
throw new RuntimeException(e);
} catch (IOException e) {
throw new RuntimeException(e);
}
});
}
}

package org.example;

import javax.swing.*;
import java.awt.*;

public class Clas {

public Clas() {
}

public void getFrame() throws InterruptedException {
JFrame frame2 = new JFrame();
frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame2.setSize(200, 100);
frame2.setLocationRelativeTo(null); // Чтобы окно появлялось по центру экрана
frame2.setTitle("Loading");

JPanel panel = new JPanel(new BorderLayout());
JProgressBar progressBar = new JProgressBar(0, 20);
progressBar.setValue(0);
progressBar.setStringPainted(true);
panel.add(progressBar, BorderLayout.CENTER);

frame2.add(panel);
frame2.pack();
frame2.setVisible(true);

for (int i = 0; i < 20; i++) {
Thread.sleep(300);
System.out.println(i);
progressBar.setValue(i + 1);
}

frame2.dispose(); // Закрываем окно с прогресс-баром
}
}

1 ответов

13 просмотров

Твою простыню вряд ли кто-то будет читать. Pastebin.com

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта