- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是文件 1(我的导师希望我们为每个扩展使用单独的文件)
import javax.swing.*;
import java.awt.*;
public class Lab2 extends JFrame {
Lab2(){
setTitle("Lab 1b - Application #2");
Lab2Panel p = new Lab2Panel();
add(p);
}
public static void main(String[] args){
Lab2 frame = new Lab2();
frame.setTitle("Lab2 Application # 1");
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200, 400);
frame.setVisible(true);
}
}
文件 2:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Lab2Panel extends JPanel{
Lab2Button canvas = new Lab2Button();
JPanel panel = new JPanel();
Lab2Panel () {
setLayout(new BorderLayout());
JButton leftButton = new JButton("left");
JButton rightButton = new JButton("right");
JButton upButton = new JButton("up");
JButton downButton = new JButton("down");
panel.add(leftButton);
panel.add(rightButton);
panel.add(upButton);
panel.add(downButton);
this.add(canvas, BorderLayout.CENTER);
this.add(panel, BorderLayout.SOUTH);
leftButton.addActionListener(new Lab2MoveBallListener());
}
}
文件 3:
import javax.swing.*;
import java.awt.*;
public class Lab2Button extends JPanel {
int radius = 5;
protected void paintComponent(Graphics g){
super.paintComponent(g);
g.drawOval(getWidth() / 2 - radius, getHeight() / 2 - radius, 2 * radius, 2 * radius);
}
public void moveLeft(){
this.add(this, BorderLayout.WEST);
this.repaint();
}
}
Action 监听器代码:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Lab2MoveBallListener implements ActionListener{
public void actionPerformed(ActionEvent e){
this.moveLeft();
}
}
当用户单击“左”按钮时,我试图将圆移到西边界布局。有人可以帮帮我吗。
最佳答案
我不太确定我理解这个 GUI 应该做什么,但这可以将圆圈向左移动。我的评论中的第 3) 点和第 4) 点仍然需要解决。
这是修改后的代码。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Lab2 extends JFrame {
Lab2(){
setTitle("Lab 1b - Application #2");
Lab2Panel p = new Lab2Panel();
add(p);
}
public static void main(String[] args){
Lab2 frame = new Lab2();
frame.setTitle("Lab2 Application # 1");
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200, 400);
frame.setVisible(true);
}
}
class Lab2Panel extends JPanel{
Lab2Button canvas = new Lab2Button();
JPanel panel = new JPanel();
Lab2Panel () {
setLayout(new BorderLayout());
JButton leftButton = new JButton("left");
JButton rightButton = new JButton("right");
JButton upButton = new JButton("up");
JButton downButton = new JButton("down");
panel.add(leftButton);
panel.add(rightButton);
panel.add(upButton);
panel.add(downButton);
this.add(canvas, BorderLayout.CENTER);
this.add(panel, BorderLayout.SOUTH);
leftButton.addActionListener(new Lab2MoveBallListener(canvas));
}
}
class Lab2Button extends JPanel {
int radius = 5;
int x = -1;
int y = -1;
protected void paintComponent(Graphics g){
if (x<0 || y<0) {
x = getWidth() / 2 - radius;
y = getHeight() / 2 - radius;
}
super.paintComponent(g);
g.drawOval(x,y, 2 * radius, 2 * radius);
}
public void moveLeft(){
//this.add(this, BorderLayout.WEST);
x -= 5;
this.repaint();
}
}
class Lab2MoveBallListener implements ActionListener{
private Lab2Button canvas;
Lab2MoveBallListener(Lab2Button canvas) {
this.canvas = canvas;
}
public void actionPerformed(ActionEvent e){
canvas.moveLeft();
}
}
..how do I differentiate between buttons in the action performed?
有很多方法。
ActionEvent.getActionCommand()
/getSource()
使用 if
/else
语句来选择正确的操作。 关于java - 如何将圆圈移动到 "WEST"边框布局框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9073491/
这是文件 1(我的导师希望我们为每个扩展使用单独的文件) import javax.swing.*; import java.awt.*; public class Lab2 extends JFra
我正在尝试使用 Border Extjs 4.2.1 中的布局,当我指定 North 时和 South它们扩展并填充视口(viewport)中的整个水平空间的容器,我希望它们允许 West面板改为全高
我正在从我的电子商务商店导出客户名称(和街道地址),我们有许多法国客户名称,导致导出到 CSV 时出现一些问题。我以为我已经通过使用 utf8_decode() 修复了它,如下所示: echo utf
我将对象动态添加到面板,然后添加到我的边框布局。我需要西部、中心和东部的大小都相等。这是我目前所拥有的: static int width = 300;//Screen width static in
我正在尝试使用优秀的 jQuery UI 布局插件创建一个完整的页面界面。但不幸的是,西侧无法用我在下图中提到的鼠标调整大小。我找不到任何解决方案。 下面是我使用的代码: 下面是我的西
我正在使用 Sencha extjs 5。我在西布局中加载树形菜单时遇到问题。我似乎无法显示任何东西。请帮忙。 这是我的 Main.js 代码: items: [ { titl
我通过 Azure 门户购买了应用服务证书,并成功将其添加到我的北欧应用服务中。我还创建了一个 UK West 应用服务,并验证了相同的域,但在尝试导入它时出现错误。 我能找到的唯一错误信息告诉我查看
我有一个 JPrame 并将其设置为 borderLayout。然后我创建了另一个使用 BoxLayout 的 JPnael。现在我已将标签(包含文本)和文本字段添加到 JPanel 中。我还将 JP
我想使用 libcoud 列出 ec2 区域中的节点。我怎么做?下面仅给出东边。 Driver = get_driver(Provider.EC2) conn = Driver(key, secret
layout-latest.js ui-layout-west 面板 west: { paneSelector: ".ui-layout-west"
我正在使用 silverlight for windows embedded。我在源代码管理中有两个项目: 带有 UI 的 Expression Blend 项目 带有偶数处理程序后端代码的 VC++
我尝试列出帐户中的所有实例,使用代码: for region in boto.ec2.regions(**creds): print region.name ec2_conn = bo
我使用的是 AWS Ruby 开发工具包,但发现一堆由 describe_spot_price_history 返回的错误消息。错误消息显示:无效可用区:eu-west-1a 此消息仅针对欧洲 (eu
我在 3 台机器上安装了 AWS for Powershell Tools - 两台 Windows 服务器和一台台式 Windows PC。使用相同的配置,一台服务器失败并出现错误 GET-S3Bu
我正在尝试让 Newey-West 标准错误与 plm 包中的 pmg()(Mean Groups/Fama-MacBeth 估计器)的输出一起使用. 按照 here 中的示例: require(
我正在使用 BorderLayout、3 个带有 GridLayout 的容器和 8 个 JLabel 的数组。 Container #1 使用 2 个 JLabel,Container #2 使用
我想要一个系数和与之关联的 Newey-West 标准误差。 我正在寻找可以执行以下 R 代码所执行的操作的 Python 库(理想情况下,但任何可行的解决方案都可以): library(sandwi
更新 - 我关闭了这个问题和 posted on crossvalidated.com . 我找到了一些关于使用 sandwich 的好信息。包和NeweyWest()函数来查找异方差自相关一致 (H
我在 aws 区域 us-east-1 中有一个通过 terraform 代码运行的数据库实例。现在我想在另一个区域创建该数据库的只读副本:us-west-1。 这是代码: # PostgreSQL
我想使用 http://developer.marklogic.com/products/cloud/aws 中提供的云形成模板在 AWS eu-west-1 区域安装 MarkLogic 解决方案但
我是一名优秀的程序员,十分优秀!