?? simplelist.java
字號:
/*
$Author: $
$Date: $
$Revision: $
$NoKeywords: $
*/
package jp.co.ntl.awt;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Dimension;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.ItemSelectable;
import java.awt.AWTEventMulticaster;
import java.util.Vector;
import jp.co.ntl.awt.event.TableModelEvent;
import jp.co.ntl.awt.event.SelectionEvent;
import jp.co.ntl.awt.event.SelectionListener;
public class SimpleList extends java.awt.Panel implements ItemSelectable, ListChoiceCommon, SelectionListener {
/**
*
*/
private static final long serialVersionUID = 1L;
private Table table;
private TableBody body;
private MyTableModel model;
private transient ItemListener itemListener;
public SimpleList() {
setLayout(null);
model = new MyTableModel();
table = new Table(model, 0, 15);
body = table.getTableBody();
table.setMultiSelection(false);
table.setDrawRuledLine(false);
table.setColor(Color.white);
add(table);
table.addSelectionListener(this);
}
public void addItem(String item) {
add(item);
}
public void add(String item) {
model.addItem(item);
}
public void select(String item) {
for (int i = 0; i < model.getRowCount(); i++) {
String e = (String)model.getValueAt(i, 0);
if (e.equals(item)) {
select(i);
break;
}
}
}
public void select(int index) {
if (index < model.getRowCount()) {
table.selectRow(index);
}
}
public int getSelectedIndex() {
if (table.getSelectedCount() != 1) {
return -1;
}
return table.getSelectedRows()[0];
}
public String getSelectedItem() {
if (table.getSelectedCount() != 1) {
return null;
}
int index = table.getSelectedRows()[0];
if (model.getRowCount() <= index) {
return null;
}
return (String)model.getValueAt(index, 0);
}
public void removeAll() {
model.removeAllElements();
body.clearSelectedRows();
}
public void setBounds(int x, int y, int width, int height) {
table.setBounds(2, 2, width - 4, height - 4);
super.setBounds(x, y, width, height);
}
public void setEnabled(boolean enabled) {
super.setEnabled(enabled);
table.setEnabled(enabled);
}
public void addItemListener(ItemListener listener) {
if (listener == null) {
return;
}
itemListener = AWTEventMulticaster.add(itemListener, listener);
}
public void removeItemListener(ItemListener listener) {
if (listener == null) {
return;
}
itemListener = AWTEventMulticaster.remove(itemListener, listener);
}
public Object[] getSelectedObjects() {
return new Object[0];
}
public void selectionChanged(SelectionEvent se) {
if (itemListener == null) {
return;
}
itemListener.itemStateChanged(new ItemEvent(this,
ItemEvent.ITEM_STATE_CHANGED,
new Integer(table.getSelectedRows()[0]),
ItemEvent.SELECTED));
}
public void paint(Graphics g) {
Dimension d = getSize();
g.setColor(Color.gray);
g.drawLine(0, 0, 0, d.height - 2);
g.drawLine(0, 0, d.width - 2, 0);
g.setColor(Color.white);
g.drawLine(d.width - 1, 0, d.width - 1, d.height - 1);
g.drawLine(0, d.height - 1, d.width - 1, d.height - 1);
g.setColor(Color.darkGray);
g.drawLine(1, 1, 1, d.height - 4);
g.drawLine(1, 1, d.width - 4, 1);
}
private class MyTableModel extends DefaultTableModel {
private Vector items = new Vector();
public void addItem(String item) {
items.addElement(item);
fireTableModelEvent(new TableModelEvent(this, this));
}
public void removeAllElements() {
items.removeAllElements();
fireTableModelEvent(new TableModelEvent(this, this));
}
public Object getValueAt(int rowIndex, int columnIndex) {
return items.elementAt(rowIndex);
}
public int getRowCount() {
return items.size();
}
public int getColumnCount() {
return 1;
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -