java - Eclipse 不会运行我的代码并且编辑器根本没有显示任何代码错误

标签 java eclipse

在我尝试重新定位 JLabel 之前,代码一直运行良好,虽然它在我的代码中没有显示任何错误,但它拒绝运行它并给我以下错误...我正在尝试将标签移动到JFrame 窗口的左上角和我以前这样做的方法应该完全没问题。至少据我所知。 [初级 Java 开发]

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: verticalAlignment
at javax.swing.JLabel.checkVerticalKey(JLabel.java:627)
at javax.swing.JLabel.setVerticalAlignment(JLabel.java:713)
at io.Arimore.Launcher.createAndShowGUI(Launcher.java:27)
at io.Arimore.Launcher.access$0(Launcher.java:13)
at io.Arimore.Launcher$1.run(Launcher.java:46)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:745)
at java.awt.EventQueue.access$300(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:706)
at java.awt.EventQueue$3.run(EventQueue.java:704)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:715)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

代码:

package io.Arimore;
import java.awt.*;
import javax.swing.*;

/* FrameDemo.java requires no other files. */
public class Launcher {

/**
 * Create the GUI and show it.  For thread safety,
 * this method should be invoked from the
 * event-dispatching thread.
 */
private static void createAndShowGUI() {
    Toolkit tk = Toolkit.getDefaultToolkit();
    Dimension d = tk.getScreenSize(); //Gets the user screen size
    int scrnHigh = d.height; //Pulls out the High
    int scrnWide = d.width; //Pulls out the Wide
    //Create and set up the window.
    JFrame frame = new JFrame("Welcome to Arimore.io");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JLabel emptyLabel = new JLabel("Arimore.io - v0.01A");
    emptyLabel.setPreferredSize(new Dimension(175, 100));
    int quatrainsY = (d.height / 2);
    int elabelH = (0 - quatrainsY);
    int elabelW = (0 - (d.width / 2));
    emptyLabel.setVerticalAlignment(elabelH);
    emptyLabel.setHorizontalAlignment(elabelW);
    frame.getContentPane().add(emptyLabel);

    //Display the window.
    frame.pack();

    //setSize(scrnWide *9/10, scrnHigh *9/10);//sets screen to 0.9 size
    frame.setSize(scrnWide, scrnHigh);//sets screen to FULL size
    //setLocation(scrnWide *1/20, scrnHigh *1/20);//CENTER it for 9/10th size
    frame.setLocation(0, 0);//
    frame.setVisible(true);
}

public static void main(String[] args) {
    //Schedule a job for the event-dispatching thread:
    //creating and showing this application's GUI.
    javax.swing.SwingUtilities.invokeLater(new Runnable() {
        public void run() {
            createAndShowGUI();
        }
    });
}
}

最佳答案

JLabel.setVerticalAlignment 采用一个 int,但 int 值应该是 JLabel.TOP、JLabel.MIDDLE 或 JLabel.BOTTOM。

此外,JLabel.setHorizo​​ntalAlignment 将采用 JLabel.LEFT、JLabel.CENTER 和 JLabel.RIGHT。

任何其他值都会导致非法参数异常。

关于java - Eclipse 不会运行我的代码并且编辑器根本没有显示任何代码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38235219/

相关文章:

java - 无法通过intellij运行配置直接运行 cucumber 功能

java - 弱要求 : how to make sure an object is initialized

java - Eclipse 不显示来自外部 JAR 文件的类

c++ - 使用 Caffe 运行简单的 C++ 程序

java - 随机数生成器在 for 循环中总是生成相同的数字?

java - 无法使用 JSON 在数组下添加数组元素

JavaFX 12 - list 主要属性的签名文件摘要无效

java - 无法使用 Maven 构建 swingx-all jar

Python:大型项目并对到处使用的文件进行更改

java - 作为Eclipse应用程序运行会导致JVM崩溃- “EXCEPTION_ACCESS_VIOLATION”