В Java Swing содержимое одного окна оказывается в другом
Если что, фреймы независимы друг от друга. Я проверял, есть ли компоненты в большом окне помимо нужных, их не оказалось. Ещё на пол-окна есть JPanel, но на ней нету ни одного компонента, тем более они появлялись за её пределами. Так же на большом окне есть несколько лейблов, один из них при нажатии старта начинает менять свой текст, и также его копия почему-то появляется в левом верхнем углу. Вот код:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Main {
static JFrame f1 = new JFrame("1е окно");
static JFrame f2 = new JFrame("2е окно");
static JPanel holder = new JPanel(new FlowLayout());
static JPanel holder2 = new JPanel(new FlowLayout());
static JPanel paint = new JPanel();
static int k = 0;
static Label l = new Label("k = " + k);
static JButton button1 = new JButton("1");
static JButton button2 = new JButton("2");
static JButton button3 = new JButton("3");
public static void main(String[] args) {
button1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
t.start();
}
});
f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f1.setSize(500, 500);
f2.setSize(500, 500);
paint.setPreferredSize(new Dimension(300, 300));
paint.setBackground(new Color(0, 0, 0, 1));
holder.add(paint);
f1.add(holder);
holder.add(l);
f2.add(holder2);
holder2.add(button1);
holder2.add(button2);
holder2.add(button3);
f1.setVisible(true);
f2.setVisible(true);
f2.setLocation(600, 0);
System.out.println("Hello world!");
}
static Thread t = new Thread(new Runnable() {
@Override
public void run() {
while (true){
k++;
l.setText("k = " + k);
paint.repaint();
}
}
});
}
Ответы (1 шт):
Немного запутанный вопрос. Код очевидно не соответствует картинке, т.к. в коде не появляется кнопка старт, а на картинке нет лейбла, хотя согласно коду, он должен быть. Возможно следует добавить другой кусок кода. Так же библиотека swing очень хорошо описана у Хорстманна в книге "Java, библиотека профессионала".
