📄 seatsgui1.java
字号:
import org.eclipse.swt.*;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseListener;
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.events.*;
import org.eclipse.swt.graphics.*;
import javax.swing.*;
public class SeatsGUI1 extends JFrame{
private Display myDisplay;
private Shell myShell;
private GC gc;
private Label myLabel3;
private final FirstClass myFirstClass;
private final String[][] out4;
private final String[][] out5;
private final int noOfRow2;
private final int noOfColumn2;
public SeatsGUI1(FirstClass firstClass1)
{
this.myFirstClass=firstClass1;
this.noOfRow2=myFirstClass.getNoOfRow();
this.noOfColumn2=myFirstClass.getNoOfColumn();
out4=new String[noOfRow2][noOfColumn2];
out5=new String[noOfRow2][noOfColumn2];
for(int i=0;i<noOfRow2;i++)
{
for(int j=0;j<noOfColumn2;j++)
{
out4[i][j]=String.valueOf(myFirstClass.getMyseats(i, j).getNoOfRow()+1)
+" "+String.valueOf((char)('A'+myFirstClass.getMyseats(i, j).getNoOfColumn()))
+" "+myFirstClass.getMyseats(i, j).getType();
if(myFirstClass.getMyseats(i, j).isHasLaptops())
out4[i][j]+=" LP ";
}
}
for(int i=0;i<noOfRow2;i++)
{
for(int j=0;j<noOfColumn2;j++)
{
if(myFirstClass.getMyseats(i, j).isIsBooked())
{
out5[i][j]="booked";
}
else
{
out5[i][j]="not booked";
}
}
}
myDisplay=new Display();
myShell=new Shell(myDisplay,SWT.CLOSE|SWT.RESIZE);
myShell.setSize(800, 800);
myShell.setText("Seats");
myLabel3=new Label(myShell,SWT.BORDER);
myLabel3.setBounds(10, 10, 500, 30);
myLabel3.setText("First Class Seats:");
myShell.addPaintListener(new PaintListener()
{
public void paintControl(PaintEvent event)
{
gc=event.gc;
myShell.addMouseListener(new MouseListener()
{
public void mouseDown(MouseEvent e)
{
boolean change1=true;
if(e.x<10) change1 = false;
if(e.y<40) change1 = false;
int value_x2=(e.x-45)/80;
int value_y2=(e.y-45)/38;
if(value_x2<0) change1=false;
if(value_x2>noOfColumn2-1) change1=false;
if(value_y2<0) change1=false;
if(value_y2>noOfRow2-1) change1=false;
if(change1){
if(myFirstClass.getMyseats(value_y2, value_x2).isIsBooked()){
out5[value_y2][value_x2]="not booked";
myFirstClass.getMyseats(value_y2,value_x2).setIsBooked(false);
System.out.println((myFirstClass.getMyseats(value_y2, value_x2).getNoOfRow()+1)+" "+((char)('A'+myFirstClass.getMyseats(value_y2, value_x2).getNoOfColumn())+" "+myFirstClass.getMyseats(value_y2, value_x2).getType())+" "+"laptop: "+myFirstClass.getMyseats(value_y2,value_x2).isHasLaptops()+" is not booked ");
}
else if(!myFirstClass.getMyseats(value_y2, value_x2).isIsBooked())
{
out5[value_y2][value_x2]="booked";
myFirstClass.getMyseats(value_y2, value_x2).setIsBooked(true);
System.out.println((myFirstClass.getMyseats(value_y2, value_x2).getNoOfRow()+1)+" "+((char)('A'+myFirstClass.getMyseats(value_y2, value_x2).getNoOfColumn())+" "+myFirstClass.getMyseats(value_y2, value_x2).getType())+" "+"laptop: "+myFirstClass.getMyseats(value_y2,value_x2).isHasLaptops()+" is booked ");
}
}
myShell.redraw();
}
public void mouseUp(MouseEvent e)
{
}
public void mouseDoubleClick(MouseEvent e)
{
}
});
for(int i=0;i<noOfRow2;i++)
{
for(int j=0;j<noOfColumn2;j++)
{
gc.drawRectangle(j*80+45, i*38+45, 75, 35);
gc.drawString(out4[i][j], 3+j*80+45, 3+i*38+45);
gc.drawString(out5[i][j], 10+j*80+45, 15+i*38+45);
}
}
}
});
myShell.open();
while(!myShell.isDisposed())
{
if(!myDisplay.readAndDispatch())
myDisplay.sleep();
}
myDisplay.dispose();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -