【发布时间】:2013-10-20 07:43:10
【问题描述】:
我试图了解 JApplet 是如何工作的。我以前使用过 JFrame 并且已经成功了,但我正在尝试创建相同的 porgram,但在 JApplet 中没有任何成功。
我知道这段代码有问题,但我不知道是什么:
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
//Importerar swing biblioteket då det behövs för att skapa användargränssnitt.
import javax.swing.*;
public class BrevApplet extends JApplet {
private static final long serialVersionUID = 1L;
public void init(){
JButton performCalculation = new JButton("Beräkna");
JTextField textField = new JTextField(15);
JTextArea textArea = new JTextArea(200, 200);
textArea.setText("dfgdgdgdfdgdfg");
performCalculation.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
int kostnad = 0; // Initialiserar en variabel vars värde kommer att ändra beroende på brevets vikt.
int gram = Integer.parseInt(textField.getText());
String message;
//If selektion som kollar värdet som användaren angav och ger variabel kostnad rätt värde.
//om antal gram överskrider 2000 så anger man en sträng som informerar användaren om att
//brevet räknas som paket. Därefter så skapar men en dialogruta som skriver ut priset.
if(gram < 2001){
if(gram < 21){
kostnad = 6;
} else if(gram > 20 && gram < 101){
kostnad = 12;
} else if(gram > 100 && gram < 251){
kostnad = 24;
} else if(gram > 250 && gram < 501){
kostnad = 36;
} else if(gram > 500 && gram < 1001){
kostnad = 48;
} else if(gram > 1000 && gram < 2001){
kostnad = 72;
}
message = "Pris: " + kostnad;
} else {
message = "Brev över 2000g räknas som paket.";
}
textArea.setText(message);
}
});
JPanel panel1 = new JPanel(new FlowLayout());
panel1.add(textField);
panel1.add(performCalculation);
panel1.add(textArea);
panel1.setOpaque(true);
panel1.setBackground(Color.green);
panel1.setForeground(Color.blue);
panel1.setFont(new Font("Verdana", Font.BOLD, 20));
add(panel1);
}
}
这会产生这个结果:
我想要实现的是,您输入一个字母 wiegh 的金额,然后将计算成本并将其显示在 JTextArea 中。但是 JTextArea 甚至没有显示。
【问题讨论】:
-
为我的编程课做这个作业。我和我的老师谈过小程序,它们已经过时了,但它要求你把你的小程序也移植到小程序上。所以我尽量做到最小。
-
认真的吗?他们需要被解雇。这是我在第一条评论中避免提供的“复制/粘贴”评论。 -- 为什么要编写小程序? 如果是由于规范。老师,请把他们推荐给Why CS teachers should stop teaching Java applets。 -- 那么1)为什么需要'applet'?和.. 2) 你知道小程序可以轻松启动框架吗? -- 如果教师只是为了自己的懒惰而想要一个小程序(并且不了解 JWS),那么后一部分很重要。