📄 auctionclient.java
字号:
scrollPane= new JScrollPane(bottomPanel,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
JViewport outerPort = new JViewport();
outerPort.add(bottomPanel);
scrollPane.setColumnHeaderView(topPanel);
scrollPane.setViewport(outerPort);
//scrollpane.getViewport().putClientProperty
// ("EnableWindowBlit", Boolean.TRUE);
scrollTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
scrollPanel.add(scrollPane);
scrollTable.validate();
frame.setSize(450,200);
}
void setFixedRow() {
int index=scrollTable.getSelectedRow();
fixedTable.setRowSelectionInterval(index, index);
}
void setScrollableRow() {
int index=fixedTable.getSelectedRow();
scrollTable.setRowSelectionInterval(index, index);
}
void adjustColumnWidth(TableColumn c, int size) {
c.setPreferredWidth(size);
c.setMaxWidth(size);
c.setMinWidth(size);
}
private void browseItems() throws IOException {
JPanel findPanel;
JButton findButton;
Vector newItems=new Vector();
Vector closedItems=new Vector();
Bidder bid=null;
Enumeration enum;
String[] treelabels = { "All Auctions", "Closed Auction",
"New Auctions"};
try {
if (!standaloneMode) {
BidderHome bhome=(BidderHome) ctx.lookup("bidder");
bid=bhome.create();
enum=(Enumeration)bid.getNewItemList();
} else {
TestNewTreeData tntd= new TestNewTreeData();
enum=tntd.results();
}
while((enum !=null) && (enum.hasMoreElements())) {
while(enum.hasMoreElements()) {
AuctionItem auctionItem=(AuctionItem)enum.nextElement();
newItems.addElement(new Integer(auctionItem.getId()));
}
}
if (!standaloneMode) {
enum=(Enumeration)bid.getClosedItemList();
} else {
TestClosedTreeData tctd= new TestClosedTreeData();
enum=tctd.results();
}
while((enum !=null) && (enum.hasMoreElements())) {
while(enum.hasMoreElements()) {
AuctionItem auctionItem=(AuctionItem)enum.nextElement();
closedItems.addElement(new Integer(auctionItem.getId()));
}
}
} catch (Exception e) {
System.out.println("AuctionServlet <list>:"+e);
}
nodes = new DefaultMutableTreeNode[treelabels.length];
DefaultMutableTreeNode[] closednodes = new
DefaultMutableTreeNode[closedItems.size()];
DefaultMutableTreeNode[] newnodes = new
DefaultMutableTreeNode[newItems.size()];
for (int i=0; i<treelabels.length; i++) {
nodes[i] = new DefaultMutableTreeNode(treelabels[i]);
}
nodes[0].add(nodes[1]);
nodes[0].add(nodes[2]);
for (int i=0; i<closedItems.size(); i++) {
closednodes[i] = new
DefaultMutableTreeNode(closedItems.elementAt(i));
nodes[1].add(closednodes[i]);
}
for (int i=0; i<newItems.size(); i++) {
newnodes[i] = new
DefaultMutableTreeNode(newItems.elementAt(i));
nodes[2].add(newnodes[i]);
}
DefaultTreeModel model=new DefaultTreeModel(nodes[0]);
tree = new JTree(model);
JScrollPane scroll = new JScrollPane(tree);
browsePanel.add(scroll, BorderLayout.CENTER);
findPanel= new JPanel();
findField= new JTextField(10);
findButton= new JButton("find");
findButton.addActionListener (new ActionListener() {
public void actionPerformed (ActionEvent e) {
String field=findField.getText();
if(field != null) {
findNode(findField.getText());
} else {
return;
}
}
});
findPanel.add(findField);
findPanel.add(findButton);
browsePanel.add(findPanel, BorderLayout.SOUTH);
frame.setSize(300,350);
}
private void findNode(String field) {
Enumeration e = nodes[0].depthFirstEnumeration();
Object currNode;
while (e.hasMoreElements()) {
currNode = e.nextElement();
if(currNode.toString().equals(field)) {
TreePath path=new TreePath(((
DefaultMutableTreeNode)currNode).getPath());
tree.makeVisible(path);
tree.setSelectionRow(tree.getRowForPath(path));
return;
}
}
}
public static void main(String args[]) {
AuctionClient ac= new AuctionClient();
}
}
class CustomRenderer extends DefaultTableCellRenderer {
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus,
int row, int column) {
Component comp = super.getTableCellRendererComponent
(table,value,isSelected,hasFocus,row,column);
JLabel label = (JLabel)comp;
if(((Integer)value).intValue() >= 30) {
label.setIcon(new ImageIcon("Hot.gif"));
} else {
label.setIcon(new ImageIcon("Normal.gif"));
}
return (JLabel)label;
}
}
class CustomButtonEditor extends DefaultCellEditor {
final JButton mybutton;
JFrame frame;
CustomButtonEditor(JFrame frame) {
super(new JCheckBox());
mybutton = new JButton();
this.editorComponent = mybutton;
this.clickCountToStart = 2;
this.frame=frame;
mybutton.setOpaque(true);
mybutton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
fireEditingStopped();
}
});
}
protected void fireEditingStopped() {
super.fireEditingStopped();
}
public Object getCellEditorValue() {
JDialog jd= new JDialog(frame, "Time left");
Calendar today=Calendar.getInstance();
Calendar end=Calendar.getInstance();
SimpleDateFormat in=new SimpleDateFormat("yyyy-MM-dd");
try {
end.setTime(in.parse(mybutton.getText()));
} catch (Exception e){
System.out.println("Error in date"+mybutton.getText()+e);
}
int days = 0;
while(today.before(end)) {
today.roll(Calendar.DATE,true);
days++;
}
jd.setSize(200,100);
if(today.after(end)) {
jd.getContentPane().add(new JLabel("Auction completed"));
} else {
jd.getContentPane().add(new JLabel("Days left="+days));
}
jd.setVisible(true);
return new String(mybutton.getText());
}
public Component getTableCellEditorComponent(JTable table,
Object value, boolean isSelected, int row, int column) {
((JButton) editorComponent).setText(((JButton)value).getText());
if (isSelected) {
((JButton) editorComponent).setForeground(table.getSelectionForeground());
((JButton) editorComponent).setBackground(table.getSelectionBackground());
} else {
((JButton) editorComponent).setForeground(table.getForeground());
((JButton) editorComponent).setBackground(table.getBackground());
}
return editorComponent;
}
}
class CustomButtonRenderer extends JButton implements TableCellRenderer {
public CustomButtonRenderer() {
setOpaque(true);
}
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus,
int row, int column) {
if (isSelected) {
((JButton)value).setForeground(table.getSelectionForeground());
((JButton)value).setBackground(table.getSelectionBackground());
} else {
((JButton)value).setForeground(table.getForeground());
((JButton)value).setBackground(table.getBackground());
}
return (JButton)value;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -