javax.swing.JFrame is swing.
Now this is the code and I think that there is only SWT
import java.io.IOException;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.*;
public class grafica {
Shell shell;
Text text;
//GC gc;
public grafica() throws IOException, Exception {
Menu menuBar, fileMenu, helpMenu;
MenuItem fileMenuHeader, aboutMenuHeader;
MenuItem fileExitItem, aboutAboutItem;
display = new Display();
shell = new Shell(display);
shell.setText("Composer");
menuBar = new Menu(shell, SWT.BAR);
fileMenuHeader = new MenuItem(menuBar, SWT.CASCADE);
fileMenuHeader.setText("&File");
fileMenu = new Menu(shell, SWT.DROP_DOWN);
fileMenuHeader.setMenu(fileMenu);
MenuItem expertItem = new MenuItem(fileMenu, SWT.CASCADE);
expertItem.setText("&Expert");
Menu submenu = new Menu(shell, SWT.DROP_DOWN);
expertItem.setMenu(submenu);
MenuItem expertParseInItem = new MenuItem(submenu, SWT.PUSH);
expertParseInItem.setText("Parse Input\tCTRL+P");
expertParseInItem.setAccelerator(SWT.CTRL + 'P');
MenuItem dialogItem = new MenuItem(submenu, SWT.PUSH);
dialogItem.setText("&Parse Output\tCTRL+O");
dialogItem.setAccelerator(SWT.CTRL + 'O');
MenuItem separator = new MenuItem(fileMenu, SWT.SEPARATOR);
fileExitItem = new MenuItem(fileMenu, SWT.PUSH);
fileExitItem.setText("E&xit\tCTRL+C");
fileExitItem.setAccelerator(SWT.CTRL + 'C');
aboutMenuHeader = new MenuItem(menuBar, SWT.CASCADE);
aboutMenuHeader.setText("Info");
helpMenu = new Menu(shell,SWT.DROP_DOWN);
aboutMenuHeader.setMenu(helpMenu);
aboutAboutItem = new MenuItem(helpMenu, SWT.PUSH);
aboutAboutItem.setText("Info");
fileExitItem.addSelectionListener(new MenuItemListener());
aboutAboutItem.addSelectionListener(new MenuItemListener());
expertParseInItem.addSelectionListener(new MenuItemListener());
/*
Text text1 = new Text(shell, SWT.BORDER);
text1.setText("Scrivi");
text1.setBounds(50,100,300,20);
text1.setTextLimit(30);
Text text2 = new Text(shell, SWT.NONE);
text2.setEchoChar('*');
text2.setBounds(50,150,300,20);
text2.setText("Password");
Text text3 = new Text(shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
text3.setBounds(50,190,300,100);
text3.setEditable(false);
text3.setText("Qui non puoi scrivere");
*/
Rectangle screen = display.getMonitors()[0].getBounds();
shell.setMenuBar(menuBar);
// Creazione ToolBar
Image image = new Image(display,"img/Parse.jpg");
Image image2 = new Image(display,"img/Help.jpg");
//GC gc = new GC(image);
//GC gc2 = new GC(image2);
//gc.dispose();
//gc2.dispose();
ToolBar toolBar = new ToolBar(shell, SWT.NO);
ToolItem itemParse = new ToolItem(toolBar, SWT.PUSH);
itemParse.setImage(image);
itemParse.setText("Parse In");
ToolItem itemHelp = new ToolItem(toolBar, SWT.PUSH);
itemHelp.setImage(image2);
itemHelp.setText("Help");
//itemHelp.addSelectionListener(new ToolBarButtonListener());
itemParse.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e2) {
System.out.println("E' stato premuto il tasto ParseIn");
RWmidi midi = null;
try {
midi = new RWmidi("midi.mid");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Parser parser = new Parser(midi);
String eventi = parser.getParsingTraccia(1);
Shell dialog = new Shell(shell);
dialog.setText("Dialog");
Text text4 = new Text(dialog, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
text4.setBounds(0,0,800,500);
text4.setEditable(false);
text4.setText(eventi);
dialog.setSize(800, 500);
dialog.open();
}
});
itemHelp.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
System.out.println("E' stato premuto il tasto Help");
MessageBox aboutBox = new MessageBox(shell,SWT.ICON_INFORMATION);
aboutBox.setText("Informazioni");
StringBuffer messaggio = new StringBuffer();
messaggio.append("Composer Midi\n");
messaggio.append("Programma sviluppato da Fedullo Carmine\n");
messaggio.append("\n");
messaggio.append("Per ulteriori informazioni\n");
messaggio.append("carmine82@gmail.com\n");
aboutBox.setMessage(messaggio.toString());
int buttonOK = aboutBox.open();
//shell.pack();
shell.open();
}
});
toolBar.pack();
// Creazione Separatore
Label separatore = new Label(shell, SWT.SEPARATOR | SWT.HORIZONTAL);
separatore.setBounds(0,83,1000,20);
// Creazione Cavas
Canvas canvas = new Canvas(shell, SWT.BORDER);
canvas.setSize(950, 500);
canvas.setLocation(20, 120);
Point size = shell.computeSize(-1,-1);
shell.setBounds(0, 0, 0, 0);
//shell.setSize(screen.width,screen.height-30);
shell.setSize(1000,700);
shell.open();
Color black = display.getSystemColor(SWT.COLOR_BLACK);
Color white = display.getSystemColor(SWT.COLOR_WHITE);
//canvas.setBackground(white);
//canvas.setBackgroundMode(2);
gc = new GC(canvas);
//canvas.setBackground(white);
gc.setBackground(white);
gc.setForeground(black);
gc.fillRectangle(0, 0, 1000, 900);
//gc.setLineWidth(2);
// Costruzione Pentagramma
gc.drawLine(30, 50, 930, 50);
//gc.drawLine(30, 60, 930, 60);
//gc.drawLine(30, 70, 930, 70);
//gc.drawLine(30, 80, 930, 80);
//gc.drawLine(30, 90, 930, 90);
costruisciPentagramma(50,0);
costruisciPentagramma(120,0);
costruisciPentagramma(190,0);
costruisciPentagramma(260,0);
costruisciPentagramma(330,0);
costruisciPentagramma(400,0);
gc.dispose();
//canvas.redraw();
// shell.pack();
while(!shell.isDisposed())
if(!display.readAndDispatch())
display.sleep();
display.dispose();
}
/*
class ToolBarButtonListener extends SelectionAdapter {
public void widgetSelected(SelectionEvent event) {
if(event.widget.getData().)
shell.close();
System.exit(0);
}
}
*/
public void costruisciPentagramma(int altezza, int chiave) {
// Chiave di Basso
if(chiave==0) {
Image img = new Image(display, "img/chiavebasso80.jpg");
gc.drawImage(img, 25, altezza-5);
}
gc.drawLine(30, altezza, 30, altezza+40);
gc.drawLine(30, altezza, 930, altezza);
gc.drawLine(30, altezza+10, 930, altezza+10);
gc.drawLine(30, altezza+20, 930, altezza+20);
gc.drawLine(30, altezza+30, 930, altezza+30);
gc.drawLine(30, altezza+40, 930, altezza+40);
gc.drawLine(300, altezza,300 ,altezza+40);
gc.drawLine(510, altezza,510 ,altezza+40);
gc.drawLine(720, altezza,720 ,altezza+40);
gc.drawLine(930, altezza,930 ,altezza+40);
}
public void newWindow(String titolo, String messaggio) {
Shell dialog = new Shell(shell);
dialog.setText("Dialog");
Text text4 = new Text(dialog, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
text4.setBounds(0,0,800,500);
text4.setEditable(false);
text4.setText("ciao provola affumicata");
dialog.setSize(800, 500);
dialog.open();
}
class MenuItemListener extends SelectionAdapter {
public void widgetSelected(SelectionEvent event) {
if (((MenuItem) event.widget).getText().equals("E&xit\tCTRL+C")) {
shell.close();
System.exit(0);
}
if (((MenuItem) event.widget).getText().equals("Info")) {
MessageBox aboutBox = new MessageBox(shell,SWT.ICON_INFORMATION);
aboutBox.setText("Informazioni");
StringBuffer messaggio = new StringBuffer();
messaggio.append("Composer Midi\n");
messaggio.append("Programma sviluppato da Fedullo Carmine\n");
messaggio.append("\n");
messaggio.append("Per ulteriori informazioni\n");
messaggio.append("carmine82@gmail.com\n");
aboutBox.setMessage(messaggio.toString());
int buttonOK = aboutBox.open();
//shell.pack();
shell.open();
System.out.println("premuto help");
}
if (((MenuItem) event.widget).getText().equals("Parse Input\tCTRL+P")) {
RWmidi midi = null;
try {
midi = new RWmidi("midi.mid");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Parser parser = new Parser(midi);
String eventi = parser.getParsingTraccia(1);
Shell dialog = new Shell(shell);
dialog.setText("Dialog");
Text text4 = new Text(dialog, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
text4.setBounds(0,0,800,500);
text4.setEditable(false);
text4.setText(eventi);
dialog.setSize(800, 500);
dialog.open();
}
}
}
private GC gc;
private Display display;
}