我用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