北开java作业_java作业题

这是一个Java程序,创建了一个`GoodsFrame`类,展示了一个包含商品列表的JList和一个用于显示商品详细信息的JTextArea。用户可以单击选择商品查看价格和产地,双击查看广告。程序中定义了`Goods`类来存储商品属性。
摘要由CSDN通过智能技术生成

展开全部

// 正好无聊,给你写一个,不过这种作业还是建议自己62616964757a686964616fe4b893e5b19e31333239306563做

import java.awt.BorderLayout;

import java.awt.Component;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import java.awt.event.MouseMotionListener;

import java.util.ArrayList;

import java.util.List;

import javax.swing.JFrame;

import javax.swing.JList;

import javax.swing.JTextArea;

public class GoodsFrame extends JFrame {

// 产品名称下拉列表

private JList goodsList = null;

private JTextArea ta = null;

// 产品

private List goods = null;

public GoodsFrame() {

initGoods();

init();

}

private void initGoods() {

Goods g1 = new Goods("金", 5000d, "广州", "真金不怕火炼");

Goods g2 = new Goods("银", 4000d, "江苏", "真银不怕火炼");

Goods g3 = new Goods("铜", 3000d, "河北", "真铜不怕火炼");

Goods g4 = new Goods("铁", 2000d, "湖南", "真铁也怕火炼");

goods = new ArrayList();

goods.add(g1);

goods.add(g2);

goods.add(g3);

goods.add(g4);

}

private void init() {

this.setLayout(new BorderLayout());

// 添加List

this.add(getGoodsList(), BorderLayout.NORTH);

// 添加文本区

this.add(getTextArea(), BorderLayout.CENTER);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setSize(300, 200);

this.setVisible(true);

}

private Component getTextArea() {

if (ta == null) {

ta = new JTextArea("sdf");

}

return ta;

}

private Component getGoodsList() {

if (goodsList == null) {

goodsList = new JList();

// 添加4个商品

goodsList.setListData(goods.toArray());

// 添加事件

goodsList.addMouseListener(new MouseListener() {

public void mouseClicked(MouseEvent e) {

int count = e.getClickCount();

// 获得被选取对象

Goods goods = (Goods) goodsList.getSelectedValue();

// 单击

if (count == 1) {

ta.setText("价格: " + goods.getPrice() + ", 产地: " + goods.getOrigin());

}

// 双击

if (count == 2) {

ta.setText("广告: " + goods.getAdvertisement());

}

}

public void mouseEntered(MouseEvent e) {

}

public void mouseExited(MouseEvent e) {

}

public void mousePressed(MouseEvent e) {

}

public void mouseReleased(MouseEvent e) {

}});

}

return goodsList;

}

public static void main(String[] args) {

new GoodsFrame();

}

}

/**

* 产品类

*

* @author Administrator

*

*/

class Goods {

// 名称

private String name;

// 价格

private double price;

// 产地

private String origin;

// 广告

private String advertisement;

public Goods() {

}

public Goods(String name, double price, String origin, String advertisement) {

super();

this.name = name;

this.price = price;

this.origin = origin;

this.advertisement = advertisement;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public double getPrice() {

return price;

}

public void setPrice(double price) {

this.price = price;

}

public String getOrigin() {

return origin;

}

public void setOrigin(String origin) {

this.origin = origin;

}

public String getAdvertisement() {

return advertisement;

}

public void setAdvertisement(String advertisement) {

this.advertisement = advertisement;

}

@Override

public int hashCode() {

final int prime = 31;

int result = 1;

result = prime * result + ((name == null) ? 0 : name.hashCode());

long temp;

temp = Double.doubleToLongBits(price);

result = prime * result + (int) (temp ^ (temp >>> 32));

return result;

}

@Override

public boolean equals(Object obj) {

if (this == obj)

return true;

if (obj == null)

return false;

if (getClass() != obj.getClass())

return false;

Goods other = (Goods) obj;

if (name == null) {

if (other.name != null)

return false;

} else if (!name.equals(other.name))

return false;

if (Double.doubleToLongBits(price) != Double

.doubleToLongBits(other.price))

return false;

return true;

}

@Override

public String toString() {

return name;

}

}

2Q==

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值