?? main.java
字號:
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Dialog;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.TableItem;
import org.eclipse.swt.widgets.Text;
public class Main extends Shell {
private Text hargaText;
private Text jumlahText;
private Text namaText;
private Text kodeText;
private Table table;
private List<Item> allItems;
private DBUtil dbUtil;
private MessageBox mb;
/**
* Launch the application
* @param args
*/
public static void main(String args[]) {
try {
Display display = Display.getDefault();
Main shell = new Main(display, SWT.SHELL_TRIM);
shell.open();
shell.layout();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Create the shell
* @param display
* @param style
*/
public Main(Display display, int style) {
super(display, style);
createContents();
setLayout(new GridLayout());
}
@Override
public void open() {
super.open();
init();
}
private void init() {
dbUtil = new DBUtil();
LoginDialog dialog = new LoginDialog(this, dbUtil);
dialog.open();
try {
PreparedStatement statement = dbUtil.getConnection().prepareStatement("select kode, nama, jumlah, harga from item");
ResultSet rs = statement.executeQuery();
allItems = new ArrayList<Item>();
while (rs.next()) {
Item item = new Item(rs.getInt("kode"), rs.getString("nama"), rs.getInt("jumlah"),rs.getInt("harga"));
allItems.add(item);
}
} catch (SQLException e) {
e.printStackTrace();
}
refreshTable();
}
private void refreshTable() {
table.removeAll();
for (Item item : allItems) {
new TableItem(table, SWT.NONE).setText(
new String[]{
String.valueOf(item.getKode()),
item.getNama(),
String.valueOf(item.getJumlah()),
String.valueOf(item.getHarga())
}
);
}
}
/**
* Create contents of the window
*/
protected void createContents() {
setText("Main");
setSize(500, 375);
final Group group = new Group(this, SWT.NONE);
group.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
group.setLayout(new GridLayout());
table = new Table(group, SWT.FULL_SELECTION | SWT.BORDER);
table.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(final SelectionEvent e) {
showDetail();
}
});
table.setLinesVisible(true);
table.setHeaderVisible(true);
table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
final TableColumn newColumnTableColumn = new TableColumn(table, SWT.NONE);
newColumnTableColumn.setWidth(77);
newColumnTableColumn.setText("Kode Barang");
final TableColumn newColumnTableColumn_1 = new TableColumn(table, SWT.NONE);
newColumnTableColumn_1.setWidth(181);
newColumnTableColumn_1.setText("Nama Barang");
final TableColumn newColumnTableColumn_2 = new TableColumn(table, SWT.NONE);
newColumnTableColumn_2.setWidth(100);
newColumnTableColumn_2.setText("Jumlah");
final TableColumn newColumnTableColumn_3 = new TableColumn(table, SWT.NONE);
newColumnTableColumn_3.setWidth(100);
newColumnTableColumn_3.setText("Harga");
final Group group_1 = new Group(this, SWT.NONE);
group_1.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
final GridLayout gridLayout = new GridLayout();
gridLayout.numColumns = 2;
group_1.setLayout(gridLayout);
final Label kodeBarangLabel = new Label(group_1, SWT.NONE);
kodeBarangLabel.setText("Kode Barang");
kodeText = new Text(group_1, SWT.BORDER);
final GridData gd_kodeText = new GridData(SWT.FILL, SWT.CENTER, true, false);
kodeText.setLayoutData(gd_kodeText);
final Label namaBarangLabel = new Label(group_1, SWT.NONE);
namaBarangLabel.setText("Nama Barang");
namaText = new Text(group_1, SWT.BORDER);
final GridData gd_namaText = new GridData(SWT.FILL, SWT.CENTER, true, false);
namaText.setLayoutData(gd_namaText);
final Label jumlahLabel = new Label(group_1, SWT.NONE);
final GridData gd_jumlahLabel = new GridData();
jumlahLabel.setLayoutData(gd_jumlahLabel);
jumlahLabel.setText("Jumlah");
jumlahText = new Text(group_1, SWT.BORDER);
final GridData gd_jumlahText = new GridData(SWT.FILL, SWT.CENTER, true, false);
jumlahText.setLayoutData(gd_jumlahText);
final Label hargaLabel = new Label(group_1, SWT.NONE);
hargaLabel.setText("Harga");
hargaText = new Text(group_1, SWT.BORDER);
final GridData gd_hargaText = new GridData(SWT.FILL, SWT.CENTER, true, false);
hargaText.setLayoutData(gd_hargaText);
final Group group_2 = new Group(this, SWT.NONE);
group_2.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
final GridLayout gridLayout_1 = new GridLayout();
gridLayout_1.numColumns = 4;
group_2.setLayout(gridLayout_1);
final Button baruButton = new Button(group_2, SWT.NONE);
baruButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(final SelectionEvent e) {
doTambah();
}
});
final GridData gd_baruButton = new GridData(70, SWT.DEFAULT);
baruButton.setLayoutData(gd_baruButton);
baruButton.setText("Tambah");
final Button simpanButton = new Button(group_2, SWT.NONE);
simpanButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(final SelectionEvent e) {
doUpdate();
}
});
final GridData gd_simpanButton = new GridData(70, SWT.DEFAULT);
simpanButton.setLayoutData(gd_simpanButton);
simpanButton.setText("Update");
final Button hapusButton = new Button(group_2, SWT.NONE);
hapusButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(final SelectionEvent e) {
doDelete();
}
});
final GridData gd_hapusButton = new GridData(70, SWT.DEFAULT);
hapusButton.setLayoutData(gd_hapusButton);
hapusButton.setText("Hapus");
final Button keluarButton = new Button(group_2, SWT.NONE);
keluarButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(final SelectionEvent e) {
dispose();
}
});
final GridData gd_keluarButton = new GridData(SWT.RIGHT, SWT.CENTER, true, false);
gd_keluarButton.widthHint = 70;
keluarButton.setLayoutData(gd_keluarButton);
keluarButton.setText("Keluar");
//
}
protected void doTambah() {
try {
PreparedStatement statement = dbUtil.getConnection().prepareStatement("insert into item(kode, nama, jumlah, harga) values(?,?,?,?)");
statement.setInt(1, Integer.valueOf(kodeText.getText()));
statement.setString(2, namaText.getText());
statement.setInt(3, Integer.valueOf(jumlahText.getText()));
statement.setInt(4, Integer.valueOf(hargaText.getText()));
statement.execute();
allItems.add(new Item(Integer.valueOf(kodeText.getText()), namaText.getText(), Integer.valueOf(jumlahText.getText()), Integer.valueOf(hargaText.getText())));
refreshTable();
} catch (SQLException e) {
e.printStackTrace();
showError(e.getMessage());
}
catch (Exception e) {
showError(e.getMessage());
}
}
protected void doUpdate() {
try {
PreparedStatement statement = dbUtil.getConnection().prepareStatement("update item set nama=?, jumlah=?, harga=? where kode = ? ");
statement.setString(1, namaText.getText());
statement.setInt(2, Integer.valueOf(jumlahText.getText()));
statement.setInt(3, Integer.valueOf(hargaText.getText()));
statement.setInt(4, Integer.valueOf(kodeText.getText()));
statement.execute();
Item item = allItems.get(table.getSelectionIndex());
item.setNama(namaText.getText());
item.setJumlah(Integer.valueOf(jumlahText.getText()));
item.setKode(Integer.valueOf(hargaText.getText()));
refreshTable();
} catch (SQLException e) {
e.printStackTrace();
showError(e.getMessage());
}
catch (Exception e) {
showError(e.getMessage());
}
}
protected void doDelete() {
try {
PreparedStatement statement = dbUtil.getConnection().prepareStatement("delete from item where kode=? ");
statement.setInt(1, Integer.valueOf(kodeText.getText()));
statement.execute();
allItems.remove(table.getSelectionIndex());
refreshTable();
} catch (SQLException e) {
e.printStackTrace();
showError(e.getMessage());
}
catch (Exception e) {
showError(e.getMessage());
}
}
protected void showDetail() {
int idx = table.getSelectionIndex();
Item item = allItems.get(idx);
kodeText.setText(String.valueOf(item.getKode()));
namaText.setText(item.getNama());
jumlahText.setText(String.valueOf(item.getJumlah()));
hargaText.setText(String.valueOf(item.getHarga()));
}
private void showMessage(String message){
mb = new MessageBox(this, SWT.ICON_ERROR);
mb.setText("Info");
mb.setMessage(message);
mb.open();
}
private void showError(String message){
mb = new MessageBox(this, SWT.ICON_INFORMATION);
mb.setText("Error");
mb.setMessage(message);
mb.open();
}
@Override
protected void checkSubclass() {
// Disable the check that prevents subclassing of SWT components
}
@Override
public void dispose() {
dbUtil.closeConnection();
super.dispose();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -