我们被要求制作一个简单的GUI计算器,我使用getSource()来检测按钮,这就是他们教给我们的东西.它通过键入第一个和第二个值然后选择操作来工作,它工作.但我犯了一个错误,因为他们要我们做的是数字也应该是按钮,就像真正的计算器一样.那么如何使用getSource()获取每个按钮的值?就像当我按下按钮1和2等于3.继承人我做了什么
import java.awt.*;
import java.awt.event.*;
public class SimpleCalculator implements ActionListener
{
// containers
private Frame f;
private Panel p1, p2, p3, p4;
// components
private Label l1, l2, l3;
private TextField tf1, tf2, tf3;
private Button bAdd, bSub, bMul, bDiv, bClear;
public SimpleCalculator()
{
f = new Frame("My First GUI App");
p1 = new Panel();
p2 = new Panel();
p3 = new Panel();
p4 = new Panel();
l1 = new Label("First: ");
l2 = new Label("Second: ");
l3 = new …Run Code Online (Sandbox Code Playgroud) 我正在尝试用 Java 制作一个简单的 2D 游戏。
据我所知,我的游戏应该由两个线程组成:“事件调度线程”(用于 GUI 操作)和“游戏线程”(用于游戏循环)。
我创建了一个大纲,但找不到放置游戏循环的位置。
简而言之,我正在尝试在不冻结 UI 线程的情况下创建游戏循环。
如果您能提供有关我做错的事情的任何信息,我将不胜感激。
这是我的游戏循环(您也可以提供提示以创建更好的游戏循环):
while(true) {
repaint();
try {
Thread.sleep(17);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
public class Main {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
createAndShowGUI();
}
});
}
private static void createAndShowGUI() {
JFrame frame = new JFrame("Forge …Run Code Online (Sandbox Code Playgroud)