Java小程序仅在最大化模式下工作
我在Eclipse中编写了一个简单的Java小程序代码。 这是一个厘米到米的转换代码。 它仅在小程序处于最大化模式时显示结果。 在最小化模式下,当我单击提交按钮时,结果不会显示。但是如果我最大化小程序,则在不更改小程序中的任何内容的情况下,将显示答案。 为什么会这样? 我的其他代码在最小化模式下工作正常 下面是代码Java小程序仅在最大化模式下工作,java,applet,awt,Java,Applet,Awt,我在Eclipse中编写了一个简单的Java小程序代码。 这是一个厘米到米的转换代码。 它仅在小程序处于最大化模式时显示结果。 在最小化模式下,当我单击提交按钮时,结果不会显示。但是如果我最大化小程序,则在不更改小程序中的任何内容的情况下,将显示答案。 为什么会这样? 我的其他代码在最小化模式下工作正常 下面是代码 package converter; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.ev
package converter;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.applet.*;
public class convert extends Applet implements ActionListener {
private static final long serialVersionUID = 1L;
Button a;
String msg ="";
String msg1 = "";
String msg2 = "";
TextField m,n;
Label l,p;
float x,y;
public void init()
{
setLayout(new GridLayout(5,5));
a = new Button("Submit");
m = new TextField(msg,10);
n = new TextField(msg,10);
l = new Label("IN CM");
p = new Label("IN M");
add(l);
add(m);
add(a);
add(p);
add(n);
a.addActionListener(this);
m.addActionListener(this);
n.addActionListener(this);
}
public void actionPerformed(ActionEvent ae)
{
msg1 = ae.getActionCommand();
if(msg1.equals("Submit"))
{
repaint();}
}
public void paint(Graphics g)
{
msg2 = m.getText();
x = Integer.parseInt(msg2);
y = x/100;
msg = y + "";
n.setText(msg);
}
}
您已经编写了要在绘制方法中单击按钮执行的逻辑,请改为在actionperformed中编写该逻辑 现在,当您尝试调整窗口大小时,将调用窗口绘制方法并显示结果 repaint方法是在小程序中显式调用paint方法的方法。repaint方法管理更新->绘制循环,因此,当您首次尝试重新绘制时,它会调用update。如果小程序需要任何大小调整、比例更改,或者在运行时对外观进行其他更改,则必须包括重新绘制以绘制包含这些更改的小程序
public void actionPerformed(ActionEvent ae){
msg1 = ae.getActionCommand();
if(msg1.equals("Submit")){
msg2 = m.getText();
x = Integer.parseInt(msg2);
y = x/100;
msg = y + "";
n.setText(msg);
}
}