在catch块中,我想向textArea显示一条错误消息,以显示发生的错误.
循环结束后,所有按钮和文本字段都可用,但循环运行时,无法单击任何按钮和文本字段.我尝试了很多不同的东西,看了很多不同的网站,但没有什么可以帮助我.我不知道出了什么问题!
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
public class J extends JFrame implements ActionListener{
JButton start = new JButton("Start (F12)");
JButton stop = new JButton("Stop");
int i;
JLabel delay = new JLabel("Delay: ");
JTextField delayJTF = new JTextField(4);
int delayS = 0;
GridLayout bl = new GridLayout(10, 10);
public J()
{
super("Auto Clicker");
start.addActionListener(this);
stop.addActionListener(this);
setSize(300, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(bl);
add(delay, BorderLayout.NORTH);
add(delayJTF, BorderLayout.NORTH);
add(start);
add(stop);
setVisible(true);
}
boolean run = false;
public static void main(String[] args) {
J …Run Code Online (Sandbox Code Playgroud) 我正在尝试构建一个简单的gui程序.一切都运行良好,因为我在添加一些GUI组件(如SWING和AWT)之前测试了这些类.但是当我尝试输入并按下提交按钮时,它会给我这个错误.
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at com.simpleAccountEntry.SimpleAccountListener.actionPerformed(SimpleAccountListener.java:15)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6389)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3268)
at java.awt.Component.processEvent(Component.java:6154)
at java.awt.Container.processEvent(Container.java:2045)
at java.awt.Component.dispatchEventImpl(Component.java:4750)
at java.awt.Container.dispatchEventImpl(Container.java:2103)
at java.awt.Component.dispatchEvent(Component.java:4576)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4633)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4297)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4227)
at java.awt.Container.dispatchEventImpl(Container.java:2089)
at java.awt.Window.dispatchEventImpl(Window.java:2518)
at java.awt.Component.dispatchEvent(Component.java:4576)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:672)
at java.awt.EventQueue.access$400(EventQueue.java:96)
at java.awt.EventQueue$2.run(EventQueue.java:631)
at java.awt.EventQueue$2.run(EventQueue.java:629)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)
at java.awt.EventQueue$3.run(EventQueue.java:645)
at java.awt.EventQueue$3.run(EventQueue.java:643)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:642)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177) …Run Code Online (Sandbox Code Playgroud) 我在java中模拟处理器计数器时遇到了问题.我想计算例如0到6,并在文本字段中显示计数(0,1,2,3,4,5,6)的当前值.当我点击"计数"按钮时,我的程序冻结片刻,在文本字段中计数后,我只能看到数字6.我想在计数期间看到其他数字.这是我的代码的一部分:
for (int b=0; b<30; b++)
{
counter2.Count();
try {
Thread.sleep(300);
} catch(InterruptedException e){}
text6.setText("TEST" + counter2.MainReg); }
Run Code Online (Sandbox Code Playgroud)
我该怎么办?感谢你们对我的帮助.
我正在jframe中运行AudioInputStream.我在jframe上有一个进度条.我将jproggressbar命名为"bar".我正在尝试获取进度条以跟踪AudioInputStream通过一首歌的距离.我尝试了一个循环,但是我尝试的每一种方式,循环最终使jframe冻结.然后,我无法完成其他任务,如关闭窗口或暂停AudioInputStream直到歌曲结束.有人可以帮帮我吗?
我有一个应用程序,在更改后,出现绿色复选标记,表示更改成功.应用程序有几个可能的更改,我希望能够在2.5秒后使复选标记消失.我尝试过几样的事情:
panel.add(checkMark);
checkMark.setVisible(true);
panel.remove(checkMark);
checkMark.setVisible(false);
Run Code Online (Sandbox Code Playgroud)
似乎没有什么工作.我添加了一个timer电话,接着是a checkMark.setVisible(false),似乎没有任何帮助.
有人可以指出我做错了什么吗?以下是我的代码:
//Create Change Role Button
final JButton changeRoleBtn = new JButton("Change Role");
changeRoleBtn.setBounds(50, 500, 150, 30);
changeRoleBtn.setToolTipText("Changes the role of the User");
changeRoleBtn.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
//Create Success Image
final ImageIcon i1 = new ImageIcon("/Users/vhaislsalisc/Documents/workspace/Role_Switcher/greenCheck.png");
final JLabel checkMark = new JLabel(i1);
checkMark.isOptimizedDrawingEnabled();
i1.paintIcon(changeRoleBtn, getGraphics(), 400,25);
checkMark.setVisible(true);
try
{
timer = new Timer(2000, new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
checkMark.setVisible(false);
timer.stop();
}
});
timer.start(); …Run Code Online (Sandbox Code Playgroud) 我有一个java swing gui程序,当我点击一个切换按钮时,计时器开始,但我想能够点击相同的按钮,计时器停止,现在它不会让我再次点击它.这是我的计时器课程
public void runningClock(){
isPaused = false;
while(!isPaused){
incrementTime();
System.out.println("Timer Current Time " + getTime());
time.setText(""+ getTime());
try{Thread.sleep(1000);} catch(Exception e){}
}
}
public void pausedClock(){
isPaused=true;
System.out.println("Timer Current Time " + getTime());
time.setText(""+ getTime());
try{Thread.sleep(1000);} catch(Exception e){}
}
Run Code Online (Sandbox Code Playgroud)
这是我的主要课程
private void btnRunActionPerformed(java.awt.event.ActionEvent evt) {
if(btnRun.getText().equals("Run")){
System.out.println("Run Button Clicked");
btnRun.setText("Pause");
test.runningClock();
}
else if(btnRun.getText().equals("Pause")){
System.out.println("Pause Button Clicked");
btnRun.setText("Run");
test.pausedClock();
}
}
Run Code Online (Sandbox Code Playgroud) 这是我的代码:
private void jButton5MouseClicked(java.awt.event.MouseEvent evt) {
this.jButton5.setText("VietNam");
try {
Thread.sleep(10000);
} catch (InterruptedException ex) {
Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
}
this.jButton5.setText("Ha Noi");
}
Run Code Online (Sandbox Code Playgroud)
我希望按钮显示"越南",一分钟后它将变为"Ha Noi".但是用我的代码,我的按钮没有显示任何内容,1分钟后显示"Ha Noi",没有"越南"出现一秒钟.
我该如何解决这个问题?我不想使用swing.Timer,因为它无法完全暂停系统.如果有办法解决它,请告诉我.
非常感谢你们.
我正在研究Java图形界面(Swing,AWT).我的应用程序中的数据输入应该通过一个JFrame.事实上,我有10个实体需要10 JFrame秒.我使用了一个for循环,但JFrame似乎没有等到数据输入.
我用Thread.sleep()但是徒劳无功.有帮助吗?
这是我的一些代码:
for (int i=0; i < VMnumber; i++) // VMnumber : number of virtual machines to instantiate
{
mips=0;
frame=new VMcaracteristics(); // VMcaracteristics is a JFrame to enter VMs caracteristics
frame.setVisible(true);
while (!VMcaracteristicsFlag) // Current frame is still open
{
Thread.sleep(100);
} // create a VM correspondent to the current frame
vm = new Vm(vmid, brokerId, mips, pesNumber, ram, bw, size, vmm, new CloudletSchedulerTimeShared());
vmlist.add(vm);
}
Run Code Online (Sandbox Code Playgroud) java ×9
swing ×9
thread-sleep ×3
awt ×2
jframe ×2
concurrency ×1
counter ×1
counting ×1
freeze ×1
jbutton ×1
jprogressbar ×1
timer ×1
try-catch ×1