📄 toypane.java
字号:
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
import java.net.*;
import java.sql.*;
//import toyData;
//import toyList;
//import java.awt.event.*;
//import ioResultSet;
public class toyPane extends JPanel
//public class toyPane extends Panel
{
UnitJPanel unitPanel[];
ScrollPane panel;
Panel p;
URL picpath;
//toyData toydata;
toyList toydata;
Icon iconClicked;
//fields for compute
String toyOrder;
float rateTotal;
int dataNum,panelNum;
//JButton bnPic[];
//the sub method to compute ::::::
//public toyPane(URL url,toyData data)
public toyPane(URL url,toyList toy)
{
//ResultSet toyResult=ioresult.result;
toydata=toy;
/*
try{
while(toyResult.next())
{
toydata.toys[n].toyid=toyResult.getString(1);
toydata.toys[n].toyname=toyResult.getString(2);
toydata.toys[n].toydesc=toyResult.getString(3);
toydata.toys[n].toyrate=toyResult.getFloat(4);
toydata.toys[n].toyimage=toyResult.getString(5);
toydata.num++;
n++;
}
}
catch(Exception se)
{
System.out.println(se);
}
**/
dataNum=toydata.num; // dataNum is the real number of toys
panelNum=((dataNum /3)+1)*3; // panelNum is for the panel which display toys maxshow
try{
picpath=new URL(url,"../image/");
URL ick=new URL(picpath,"headerin.gif");
iconClicked=new ImageIcon(ick);
}
catch(Exception eckurl)
{
System.out.println(eckurl);
}
unitPanel=new UnitJPanel[dataNum];
//bnPic=new JButton[dataNum];
panel=new ScrollPane();
p=new Panel();
//JPanel panel=(JPanel)getContentPane();
GridBagLayout gl=new GridBagLayout();
GridBagConstraints gbc=new GridBagConstraints();
gbc.fill=GridBagConstraints.BOTH;
gbc.weightx=1;
gbc.weighty=1;
this.setLayout(gl);
add(panel,gbc);
//JViewport vport=new JViewport()
//panel.add(vport);
//panel.setAutoscrolls(true);
//setLayout(null);
panel.add(p);
p.setLayout(new GridLayout((panelNum/3),3));
// add toy panels with data:::::::::::::::::::::: recently Edit
/*************
String toyid;
String toyname;
String toypic;
float toyrate;
String toydesc;
*************/
for (int i=0;i<dataNum;i++)
{
/***************
toyid=toydata.toys[i].toyid;
toyname=toydata.toys[i].toyname;
toypic=toydata.toys[i].toyimage;
toyrate=toydata.toys[i].toyrate;
toydesc=toydata.toys[i].toydesc;
************/
//JPanel[i]=new UnitJPanel("small bee",i +".gif");
//bnPic[i]=new JButton();
unitPanel[i]=new UnitJPanel(i);
p.add(unitPanel[i]);
}
int j=panelNum-dataNum ;
int k;
if (j>0)
{
for(k=0;k<j;k++)
{
p.add(new Label("none"));
}
}
}
// notice:::: if you want to use toyOrder and rateTotal ,you must run the methrod "compute"
public void compute()
{
toyOrder=new String("");
rateTotal=0;
for(int cnt=0;cnt<dataNum;cnt++)
{
if (unitPanel[cnt].chkbuy.getState())
{
toyOrder=toyOrder+toydata.toys[cnt].toyid
+"($"+toydata.toys[cnt].toyrate+") ";
rateTotal+=toydata.toys[cnt].toyrate *Integer.parseInt(unitPanel[cnt].cbcnt.getSelectedItem());
}
}
}
public class UnitJPanel extends JPanel
{
String toyid;
String toyname;
String toyimage ;
float toyrate;
String toydesc;
int recordNum;
//Icon image;
JButton bnImage;
Label labelText;
//should be static in outter class
Checkbox chkbuy;
Integer intary[];
//String stry[];
//JComboBox cbcnt;
Choice cbcnt;
////Label ltext;
Border line;
//static
//public UnitJPanel(String id,String name,String pic,float rate,String image)
public UnitJPanel(int i)
{
//c
//this.setBackground(Color.cyan);
recordNum=i;
toyid=toydata.toys[i].toyid;
toyname=toydata.toys[i].toyname;
toyimage=toydata.toys[i].toyimage;
toyrate=toydata.toys[i].toyrate;
toydesc=toydata.toys[i].toydesc;
Border line=BorderFactory.createLineBorder (Color.yellow, 3);
this.setBorder(line);
//intary=new Integer[11];
//cbcnt=new JComboBox(intary);
//cbcnt=new JComboBox();
cbcnt=new Choice();
for(int j=0;j<11;j++)
{
cbcnt.addItem(String.valueOf(j));
}
Icon image;
////ltext=new Label("Amount");
try{
URL picname=new URL(picpath,toyimage);
image=new ImageIcon(picname);
//test picname in the next string
System.out.println(picname);
String text=new String(toyname +": $"+toyrate);
labelText=new Label(text);
bnImage=new JButton(image);
bnImage.setPressedIcon(iconClicked);
bnImage.setBackground(Color.white);
chkbuy=new Checkbox("I'll Get");
//cbcnt.setMaximumRowCount (4);
}
catch(Exception e)
{
System.out.println(e);
}
addComp();
}
public void addComp()
{
setLayout(new BorderLayout());
Panel ps=new Panel();
Panel pss=new Panel();
bnImage.setToolTipText(this.toydesc);
ps.setLayout(new BorderLayout());
///
//pss.setLayout(new GridLayout(1,2));
//pss.setLayout(n
ps.add("South",pss);
pss.add(chkbuy);
////pss.add(ltext);
pss.add(cbcnt);
///
add("Center",ps);
ps.add("Center",bnImage);
//bnImage=new JCheckBox("ncfire");
add("South",labelText);
//labelImage.setAligmentX();
labelText.setAlignment(Label.CENTER);
labelText.setFont(new Font("Arial",Font.BOLD,15));
//setSize(100,100);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -