Jcombobox бросает нелегалкомпонент StateException при выборе элементаJAVA

Программисты JAVA общаются здесь
Anonymous
Jcombobox бросает нелегалкомпонент StateException при выборе элемента

Сообщение Anonymous »

Я новичок в Java в настоящее время экспериментирует с Swing, чтобы привыкнуть к созданию GUI. Фактической логики пока нет - я просто сосредотачиваюсь на макете и структуре компонентов.

Код: Выделить всё

java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location
at java.desktop/java.awt.Component.getLocationOnScreen_NoTreeLock(Component.java:2113)
at java.desktop/java.awt.Component.getLocationOnScreen(Component.java:2087)
at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:468)
at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:466)
at java.desktop/sun.lwawt.macosx.LWCToolkit$CallableWrapper.run(LWCToolkit.java:694)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:308)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
< /code>
Вот мой текущий код: < /p>
import javax.swing.*;
import java.awt.*;

public class Main {

JComboBox inputBox;
JComboBox outputBox;

public Main() {
JFrame frame1 = new JFrame("Unit Converter");
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame1.setPreferredSize(new Dimension(600, 100));
frame1.setLayout(new GridLayout(2, 0));

JPanel panel1 = new JPanel(new FlowLayout());
JPanel panel2 = new JPanel(new GridBagLayout());

TextField tf1 = new TextField();
tf1.setPreferredSize(new Dimension(100, 20));
TextField tf2 = new TextField();
tf2.setPreferredSize(new Dimension(100, 20));

JButton convertButton = new JButton("Convert");

String[] units = {"unit1", "unit2", "unit3", "unit4"};

inputBox = new JComboBox(units);
outputBox = new JComboBox(units);

panel1.add(tf1);
panel1.add(inputBox);
panel1.add(tf2);
panel1.add(outputBox);

panel2.add(convertButton);

frame1.add(panel1);
frame1.add(panel2);

frame1.pack();
frame1.setVisible(true);
}

public static void main(String[] args) {
new Main();
}
}
Вот мой вопрос:
Почему это исключение происходит при выборе элемента в jcombobox?

Подробнее здесь: https://stackoverflow.com/questions/795 ... ng-an-item

Вернуться в «JAVA»