Код: Выделить всё
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