導入Java . awt . button;
導入Java . awt . card layout;
導入Java . awt . color;
導入Java . awt . frame;
導入Java . awt . gridlayout;
導入Java . awt . label;
導入Java . awt . panel;
導入Java . awt . textfield;
導入Java . awt . event . action event;
導入Java . awt . event . action listener;
導入Java . awt . event . key event;
導入Java . awt . event . key listener;
導入Java . awt . event . window adapter;
導入Java . awt . event . window event;
導入Java . util . hashtable;
公共類框架{
框架f =新框架(“花式雜貨店”);
Panel p = new Panel();
Panel p 1 = new Panel();
Panel p2 = new Panel();
面板p3 =新面板();
標簽成本標簽=新標簽(“成本”);
標簽massLabel =新標簽(“質量”);
TextField cost TextField = new TextField();
TextField mass TextField = new TextField();
Button lemonsButton = new Button("檸檬");
Button orangesButton = new Button("橙子");
Button Strawbery Button = new Button(" Strawbery ");
Button Pears Button = new Button(" Pears ");
Button Apples Button = new Button(" apple ");
Button peachesButton = new Button("桃子");
Button Avocados Button = new Button(" Avocados ");
Button bananasButton = new Button("香蕉");
Button Cherry Button = new Button(" Cherry ");
Button BT10 =新建按鈕(" ");
Button BT11 =新建按鈕(" ");
Button BT12 =新建按鈕(" ");
Button WEIGHT Button = new Button(" WEIGHT ");
Button PRINT Button = new Button(" PRINT ");
Button closeButton =新建按鈕("關閉");
Button[] BT = { lemonsButton,orangesButton,strawberyButton,pearsButton,
蘋果按鈕,桃子按鈕,鱷梨按鈕,香蕉按鈕,
cherryButton,BT10,BT11,BT12,重量按鈕,打印按鈕,
close button };
私立雙costDouble
公共框架(){
f . set layout(new card layout());
f.add(p," ");// +++++
costLabel.setAlignment(標簽。對);
massLabel.setAlignment(標簽。左);
cost textfield . set editable(false);
//cost textfield . addactionlistener(new textfield());
cost textfield . settext(" 0 ");
mass textfield . set editable(false);
//mass textfield . addactionlistener(new textfield());
mass textfield . addkey listener(new verifyiputkeyadapter());
mass textfield . settext(" 0 ");
p . set layout(new BorderLayout());
p.add(p1,BorderLayout。中心);
p.add(p2,BorderLayout。北);
p.add(p3,BorderLayout。南);
p 1 . set background(color . blue);
p 1 . set layout(new GridLayout(5,3));
p2 . set layout(new GridLayout());
p2 . add(cost label);
p2 . add(cost textfield);
P3 . set layout(new GridLayout());
P3 . add(mass textfield);
P3 . add(mass label);
for(int I = 0;我& lt15;i++) {
p 1 . add(BT[I]);
}
for(int j = 0;j & lt9;j++) {
BT[j]。addActionListener(new button());
}
BT[9]。addActionListener(new blank());
BT[10]。addActionListener(new blank());
BT[11]。addActionListener(new blank());
BT[12]。addActionListener(new weight());
BT[13]。addActionListener(new print());
BT[14]。addActionListener(new close());
f.setSize(450,280);
f . setresizable(false);
f . set visible(true);
f . addwindowlistener(new window adapter(){
public void window closing(window event e){
system . exit(1);
}
});
}
公共靜態void main(String[] args) {
框架frame = new frame();
}
類按鈕實現ActionListener {
public void action performed(action event e){
價格p0 =新價格();
Double d =(Double)P0 . ht . get(e . getactioncommand());
//system . out . println(d . tostring());
cost textfield . settext(d . tostring());
mass textfield . set editable(false);
cost double = d;
}
}
類權重實現ActionListener {
public void action performed(action event e){
mass textfield . set editable(true);
}
}
類textfield實現ActionListener {
public void action performed(action event e){
}
}
類VerifyInputKeyAdapter實現KeyListener {
公共void鍵入的(KeyEvent e) {
}
公共void按鍵(按鍵事件e) {
if (e.getKeyCode()!= KeyEvent。VK_BACK_SPACE) {
char input char = e . getkey char();
string input = character . tostring(input char);
如果(!input . matches(" \ \ d "){
e . consume();
}否則{
string mass string = mass textfield . gettext();
int mass int = integer . parse int(mass string+input);
雙倍成本= massInt * costDouble
cost textfield . settext("+costs);
}
}
}
public void key released(key event e){
if (e.getKeyCode() == KeyEvent。VK_BACK_SPACE) {
string mass string = mass textfield . gettext();
int mass int = integer . parse int(mass string . equals(" "?"0"
:mass tring);
雙倍成本= massInt * costDouble
cost textfield . settext("+costs);
}
}
}
}
類print實現ActionListener {
public void action performed(action event e){
}
}
類close實現ActionListener {
public void action performed(action event e){
system . exit(1);
}
}
類blank實現ActionListener {
public void action performed(action event e){
}
}
類別價格{
哈希表ht;
公共價格(){
ht = new Hashtable();
ht.put("蘋果",new Double(6.00));
ht.put("梨子",新雙(5.00));
ht.put("橘子",新雙(7.00));
ht.put("香蕉",new Double(3.00));
ht.put("檸檬",new Double(10.00));
ht.put("桃子",new Double(4.00));
ht.put("草莓",new Double(4.00));
ht.put("Cherry ",new Double(12.50));
ht.put("牛油果",新雙(15.00));
}
}
基本滿足妳的要求...
讓我給妳的代碼壹些建議:
1,妳的變量命名要符合java的規範。比如AppleButton壹看就知道是Apple button,妳原來寫的BT2BT3看起來很累。
2.類名應該以大寫字母開頭。
妳不明白才問我。