in drools-examples/src/main/java/org/drools/games/adventures/AdventureFrame.java [363:546]
private void createBuildActionsPanel(JPanel parent) {
parent.add( createLabel( "Actions" ),
"wrap, spanx 3" );
JPanel actionsPanel = new JPanel();
actionsPanel.setBorder( null );
actionsPanel.setLayout( new BoxLayout( actionsPanel,
BoxLayout.Y_AXIS ) );
JButton moveBtn = new JButton( "Move" );
moveBtn.setToolTipText("Select one Room from the Exits, then press Send");
actionsPanel.add( moveBtn );
// msg = new ACLMessage();
// msg.setPerformative( Performative.REQUEST );
moveBtn.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent e) {
cmdTextField.setText( "Move " );
cmd = new ArrayList();
cmd.add(MoveCommand.class );
cmd.add( characterSelectCombo.getSelectedObjects()[0] );
}
} );
JButton pickupBtn = new JButton( "Pick Up" );
pickupBtn.setToolTipText("Select one from the Items list, then press Send");
actionsPanel.add( pickupBtn );
pickupBtn.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent e) {
cmdTextField.setText( "Pickup " );
cmd = new ArrayList();
cmd.add(PickupCommand.class);
cmd.add( characterSelectCombo.getSelectedObjects()[0] );
}
} );
JButton dropBtn = new JButton( "Drop" );
dropBtn.setToolTipText("Select one from the Inventory, then press Send");
actionsPanel.add( dropBtn );
dropBtn.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent e) {
cmdTextField.setText( "Drop " );
cmd = new ArrayList();
cmd.add(DropCommand.class);
cmd.add( characterSelectCombo.getSelectedObjects()[0] );
}
} );
JButton giveBtn = new JButton( "Give" );
giveBtn.setToolTipText("Select one from the Inventory, then Select the target Character, then press Send");
actionsPanel.add( giveBtn );
giveBtn.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent e) {
cmdTextField.setText( "Give " );
cmd = new ArrayList();
cmd.add(GiveCommand.class);
cmd.add( characterSelectCombo.getSelectedObjects()[0] );
}
} );
JButton useBtn = new JButton( "Use" );
useBtn.setToolTipText("Select one from the Inventory, then Select the target Thing or Room");
actionsPanel.add( useBtn );
useBtn.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent e) {
cmdTextField.setText( "Use " );
cmd = new ArrayList();
cmd.add(UseCommand.class);
cmd.add( characterSelectCombo.getSelectedObjects()[0] );
}
} );
JButton lookBtn = new JButton( "Look" );
giveBtn.setToolTipText("Just press Send");
actionsPanel.add( lookBtn );
lookBtn.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent e) {
cmdTextField.setText( "Look " );
cmd = new ArrayList();
cmd.add( LookCommand.class );
cmd.add( characterSelectCombo.getSelectedObjects()[0] );
}
} );
JButton searchBtn = new JButton( "Search" );
giveBtn.setToolTipText("Select the item to search, then press send.");
actionsPanel.add( searchBtn );
searchBtn.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent e) {
cmdTextField.setText( "Search " );
cmd = new ArrayList();
cmd.add( SearchCommand.class);
}
} );
parent.add( actionsPanel,
"top, left" );
thingsTable = new JTable();
thingsTable.setPreferredScrollableViewportSize( new Dimension( 245,
250 ) );
thingsTable.setBorder( null );
thingsTable.setModel( new NonEditableTableMode(
new Object[][]{
},
new String[]{
"Things"
}
) );
thingsTable.addMouseListener( new MouseListener() {
public void mouseReleased(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseClicked(MouseEvent e) {
if ( cmd == null ) {
return;
}
int row = thingsTable.rowAtPoint( e.getPoint() );
int col = thingsTable.columnAtPoint( e.getPoint() );
Thing t = (Thing) thingsTable.getModel().getValueAt( row,
col );
cmdTextField.setText( cmdTextField.getText() + t.getName() + " " );
cmd.add( t );
}
} );
JScrollPane itemsPanel = new JScrollPane( thingsTable );
parent.add( itemsPanel,
"top, left" );
exitsTable = new JTable();
exitsTable.setPreferredScrollableViewportSize( new Dimension( 245,
250 ) );
exitsTable.setBorder( null );
exitsTable.setModel( new NonEditableTableMode(
new Object[][]{
},
new String[]{
"Exits"
}
) );
exitsTable.addMouseListener( new MouseListener() {
public void mouseReleased(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseClicked(MouseEvent e) {
if ( cmd == null ) {
return;
}
int row = exitsTable.rowAtPoint( e.getPoint() );
int col = exitsTable.columnAtPoint( e.getPoint() );
Room r = (Room) exitsTable.getModel().getValueAt( row,
col );
cmdTextField.setText( cmdTextField.getText() + r.getName() + " " );
cmd.add( r );
}
} );
JScrollPane exitsPanel = new JScrollPane( exitsTable );
parent.add( exitsPanel,
"top, left, wrap" );
}