对于Java Swing中的应用程序(在netbeans中开发),我们需要像单选按钮一样创建大圆圈,这意味着我们有一组圆圈,每当用户点击一个圆圈时,它就会变为一个实心圆圈.用户只能选择1个圆圈.
工作mechansim与radiobutton组完全相似,只是我们需要更大的圈子.知道我们怎么做到这一点?
我一直在寻找其他一些线程和不同的方法来解决这个问题,并且我一直得到同样的错误.我遗漏了包裹并进口了.我正在使用Thread但是,我读过你不应该将它们用于GUI.
public class Game extends JPanel{
Player player = new Player(this);
public Game(){
addKeyListener(new KeyListener(){
@Override
public void keyTyped(KeyEvent e){
}
@Override
public void keyReleased(KeyEvent e){
player.keyReleased(e);
}
@Override
public void keyPressed(KeyEvent e){
player.keyPressed(e);
}
});
}
public void move(){
player.move();
}
@Override
public void paint(Graphics g){
super.paint(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
player.paint(g2d);
}
public void timer1(){
int delay = 10; //milliseconds
ActionListener taskPerformer = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
System.out.println("Running");
}
};
new …Run Code Online (Sandbox Code Playgroud) 我正在编写代码,并遵循给予我的所有指示.当我运行程序但是相同的方法时,所有的代码和方法看起来都很好!基于这些说明,当测试询问点(a,b)---(c,d)是否等于(e,f)---(g,h)时,我应该得到假,但是我得到了真正.谁能让我知道我做错了什么?先感谢您!
/**
* The equals method should return true if the given object is equal to the
* the Object passed in. Note that this method receives an Object; there is
* a particular way that this method should be implemented (see notes from class).
*
* Notice that two Segments are equal even if their endpoints are swapped
* i.e.: (1, 2)---(3, 4) == (3, 4)---(1, 2)
*/
public boolean equals(Object obj) {
//if (obj instanceof Segment) {
//Segment …Run Code Online (Sandbox Code Playgroud) 就像一个背后的故事,我真的进入java并一直在观看所有这些视频等在线,我决定虽然学习它是好的,如果我不能实际使用它,它毫无意义.所以我带了一个计算器.除了一件事,一切都很顺利.
为了展示我的懒惰,我创建了一个接受参数的方法,并使用它们通过简单的方法调用来构建JButton.该代码是:
public class GUI_Element_Methods{
private JButton button1;
private JButton numpad[];
public void createButton(String buttonText, ActionListener eventMethod, boolean visible, String tooltipText){
button1 = new JButton(buttonText);
button1.addActionListener(eventMethod);
button1.setVisible(visible);
button1.setToolTipText(tooltipText);
}
public JButton getButton1(){
return(button1);
}
Run Code Online (Sandbox Code Playgroud)
被召唤:
guiElement.createButton("+", asHandler, true, "Addition");
add(guiElement.getButton1());
Run Code Online (Sandbox Code Playgroud)
我工作得很好,但是我无法检测一个动作是否是事件处理程序中的某个按钮,因为它们都通过这个"button1"JButton运行.例如,毕达哥拉斯定理,它有两个基于你想要解决的变体,我想只使用一个事件处理程序来检测哪一个被按下.
if(event.getSource().equals()){
}else{
}
Run Code Online (Sandbox Code Playgroud)
那是我假设我会把它,我只是不知道如何引用方法创建按钮.
这是我第一次问这个问题.
我想用0到9的10个唯一的int数字制作ArrayList.我接下来的步骤:
我的代码:
public static void main(String[] args) {
Random rd = new Random();
ArrayList<Integer> list = new ArrayList<Integer>();
int q = rd.nextInt(10);
list.add(q);
while (true) {
int a = rd.nextInt(10);
for (int b=0;b<list.size();b++){
if (a == list.get(b)) break;
else list.add(a);
}
if (list.size() == 10) break;
}
System.out.println(list);
}
Run Code Online (Sandbox Code Playgroud)
但我在控制台看到的只是无休止的过程.
问题是 - 是否有另一种方法可以使ArrayList具有10个唯一数字(0到9)?
我是一个使用Java的初级程序员,我正在尝试制作一个游戏,你可以通过移动的箍扔盘.盘具有恒定的向下力,可以使用向上键向上移动; 然而,之前我甚至添加任何碰撞检测,我开始收到一个错误说Java编译找不到可变e的KeyEvent.我在网上到处看,我确信我只是犯了一个愚蠢的错误,但有人可以看看这个.
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.event.KeyListener;
import java.awt.event.KeyEvent;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.util.Random;
@SuppressWarnings("serial")
public class DiscHoopToss extends JPanel{
int x = 710;
int y = 150;
int xm = -3;
int ym = 1;
int xr = 2;
Random rng = new Random();
int r = rng.nextInt((220-20)+1)+20;
public DiscHoopToss() {
KeyListener listener = new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
if …Run Code Online (Sandbox Code Playgroud) 我试图在java中制作一个游戏,当按下一个按钮时我希望它改变图标以指示该按钮已被选中,然后当再次点击它时我想将其更改为其原始图标以显示它已被取消选择.
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == b[7][4] && selected == false)
{
b[7][4].setIcon(selected);
selected = true;
}
if(e.getSource() == b[7][4] && selected == true)
{
b[7][4].setIcon(king);
selected = false;
}
}
Run Code Online (Sandbox Code Playgroud)
此代码目前按照我的意愿执行,但它同时运行,因此更改图标,然后立即将其更改回原始图标.如何将其更改为一次selected,然后第二次单击将其更改为king图标?
我正在尝试学习如何使用 java 创建一个游戏循环并每秒绘制一个新屏幕一定次数。游戏循环工作正常,但是当我尝试使用 repaint() 调用paint方法时,未调用paint方法。这是我的代码:
import javax.swing.JButton;
import javax.swing.JComponent;
import java.awt.Graphics;
import javax.swing.JFrame;
import java.awt.image.*;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class mainFrame extends Thread{
static boolean gameIsRunning = false;
MyCanvas2 myCanvas2 = new MyCanvas2();
static final int TARGET_FPS = 1;
static int x = 10;
static int y = 10;
static long startTime = 0;
static long elapsedTime = 0;
static long waitTime = 0;
public void createFrame(){
JFrame window = new JFrame("Out from …Run Code Online (Sandbox Code Playgroud) 好的,所以我已经发布了第一部分(我没有获得热狗机销售的正确输出)并获得了大量的帮助,但现在我无法想出从所有不同的展台返回正确的总数.我通过使用'this'关键字让支架增加,但我无法弄清楚如何让静态getTotal正确地增加所有支架.
public class HotDogStand {
//instance variable declaration
private int IDNumber;
private int hotDogsSold=0;
private static int totalSold=0;
//constructor
public HotDogStand(int ID, int sold)
{
this.IDNumber=ID;
this.hotDogsSold=sold;
}
//sets ID for all the stands
public void setID(int ID)
{
this.IDNumber=ID;
}
public int getID()
{
return IDNumber;
}
//invoked each time a stand makes a sale
public void justSold()
{
this.hotDogsSold++;
totalSold=hotDogsSold;
}
//gets the totals for the different stands
public int getSold()
{
return this.hotDogsSold;
}
// returns total …Run Code Online (Sandbox Code Playgroud) 当我在JFrame应用程序中单击"开始"时,我创建了一个应用程序,可以显示Max,Minimum和Average ping.我做了一个白色的盒子,所以我可以适应一个动态变化的线图,它将与我的统计数据在同一个窗口中,并将以与我的统计数据相同的速率更新(1秒).
无论我谷歌多少,每个人似乎都了解JFreeChart示例代码.我根本不明白如何实现这一点.其他教程仅在其自己的窗口中显示该图形.
我希望有人可以帮助我.这是我现在的JFrame代码:
private void startButtonMouseClicked(java.awt.event.MouseEvent evt) {
String host = hostName.getText();
ScheduledExecutorService exec = Executors.newSingleThreadScheduledExecutor();
exec.scheduleAtFixedRate(new Runnable(){
@Override
public void run(){
try {
NetworkAnalyzer.pingCheck(host);
} catch (IOException ex) {
Logger.getLogger(NetworkAnalyzerwindow.class.getName()).log(Level.SEVERE, null, ex);
}
}
}, 0, 1, TimeUnit.SECONDS);
Run Code Online (Sandbox Code Playgroud)
这是我的pingCheck:
public class NetworkAnalyzer {
static int count=0;
static long max_time = 0;
static long min_time = 0;
static long avg_time = 0;
public static void pingCheck(String host) throws IOException{
String time = "";
//command to execute
String pingCmd = …Run Code Online (Sandbox Code Playgroud) java ×10
swing ×7
methods ×2
arraylist ×1
button ×1
calculator ×1
dynamic ×1
equals ×1
game-loop ×1
graphics2d ×1
jfreechart ×1
keyevent ×1
keylistener ×1
linechart ×1
radio ×1
repaint ×1
static ×1
timer ×1
variables ×1