我用java編寫了一個小週末支付小程序。但是當談到獲得一個體面的佈局我很無能。我開始將面板和網格佈局添加到代碼中。但我不知道如何實施它們。如何使用面板管理我的Java applet?
這是代碼。
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.text.DecimalFormat;
import javax.swing.*;
public class WeeklyPayCalculatorApplet extends Applet implements ActionListener {
//define variables, Button, label, TextField
//Create a Button class
Label title1 = new Label("Western Distribution");
Label title2 = new Label("Weekly Payroll Calculation");
Label lblEnterMins = new Label("Enter Total Minutes Worked: ");
Label lblEnterHours = new Label("Enter Hourly Pay Rate: ");
Label lblHoursWorked = new Label("Hours Worked:");
Label lblLeftOver = new Label("Leftover Miutes:");
Label lblWeekPay = new Label("Weekly Pay:");
Label hoursWorked = new Label(" ");
Label leftoverMins = new Label(" ");
Label weeklyPay = new Label(" ");
TextField txtMinutes = new TextField(10);
TextField txtRate = new TextField(10);
Button btnPay = new Button("Weekly Pay");
Button btnClear = new Button("Clear");
Button btnExit=new Button("Exit");
//Panels
Panel pnlCenter = new Panel();
Panel pnlSouth = new Panel();
Panel pnlNorth = new Panel();
//Grids
GridLayout gridLay1 = new GridLayout(1,3);
public void init() {
// add the displayable objects;
add("Center", pnlCenter);
pnlCenter.setLayout(gridLay1);
pnlCenter.add(title1);
pnlCenter.add(title2);
add(lblEnterMins);
add(txtMinutes);
add(lblEnterHours);
add(txtRate);
add(btnPay);
add(btnClear);
add(btnExit);
add(lblHoursWorked);
add(hoursWorked);
add(lblLeftOver);
add(leftoverMins);
add(lblWeekPay);
add(weeklyPay);
//Attach event to Button
btnPay.addActionListener(this);
btnClear.addActionListener(this);
btnExit.addActionListener(this);
}
public void paint(Graphics g) {
//Draw any pictures
//Make sure the picture is in the same directory as the .class files
}
public void actionPerformed(ActionEvent e) {
//This method will fire when button is pressed
//define temporary variables
Integer hour = 60;
Double dblWeeklyPay;
Integer intLeftOvers;
Integer inthoursWorked;
Integer intMinutes = Integer.parseInt(txtMinutes.getText());
Double dblRate = Double.parseDouble(txtRate.getText());
inthoursWorked = intMinutes/hour;
intLeftOvers = 600 - intMinutes;
dblWeeklyPay = (intMinutes/hour) * dblRate;
hoursWorked.setText(inthoursWorked);
leftoverMins.setText(intLeftOvers);
weeklyPay.setText(dblWeeklyPay);
}
}
我建議你學習Swing而不是AWT。 Swing組件以「J」開始。而且,學習佈局管理器的唯一方法就是和他們一起玩。我們無法爲您編寫代碼,因爲我們不知道您希望佈局如何。佈局經理的關鍵是你可以在每個面板上使用不同的面板。 – camickr 2011-05-07 02:12:26