我正在通过一个教科书示例来使用JButton
进行简单JPanel
,当我在Mac上运行它时,它可以正常工作。当我尝试在IOS(IpadPro(上运行它时,会产生错误,该错误定义为预期包含键盘,显示器或鼠标的环境未找到。在这种情况下,iPadPro具有键盘和显示屏。它使用触摸而不是鼠标。所以,我的问题是,我应该改变什么才能使这个最基本的程序在触摸环境中工作,而不是用鼠标?有修复吗?
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class PushCounterPanel extends JPanel {
private int count;
private JButton push;
private JLabel label;
public PushCounterPanel() {
count=0;
push=new JButton("Push me");
push.addActionListener(new ButtonListener());
label=new JLabel("Pushes: "+count);
add(push);
add(label);
setBackground(Color.cyan);
setPreferredSize(new Dimension(300,40));
}
private class ButtonListener implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
count++;
label.setText("Pushes: "+count);
}
}
}
由于它可以在台式机(MacBook(上运行,我以为它会在IpadPro上运行,但它会产生此错误:
java.awt.HeadlessException
at java.desktop/java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:202)
at java.desktop/java.awt.Window.<init>(Window.java:534)
at java.desktop/java.awt.Frame.<init>(Frame.java:423)
at java.desktop/javax.swing.JFrame.<init>(JFrame.java:224)
at PushCounter.main(PushCounter.java:5)
不幸的是,OpenJDK for iOS 不支持 AWT。你必须尝试其他东西,比如RoboVM或Gluon。