49 lines
1.3 KiB
Java
49 lines
1.3 KiB
Java
package xl.gui;
|
|
|
|
import static java.awt.BorderLayout.CENTER;
|
|
import static java.awt.BorderLayout.NORTH;
|
|
import static java.awt.BorderLayout.SOUTH;
|
|
|
|
import javax.swing.JFrame;
|
|
import javax.swing.JPanel;
|
|
import xl.gui.menu.XLMenuBar;
|
|
|
|
public class XL extends JFrame {
|
|
|
|
private static final int ROWS = 10, COLUMNS = 8;
|
|
private XLCounter counter;
|
|
private StatusLabel statusLabel = new StatusLabel();
|
|
private XLList xlList;
|
|
|
|
public XL(XL oldXL) {
|
|
this(oldXL.xlList, oldXL.counter);
|
|
}
|
|
|
|
public XL(XLList xlList, XLCounter counter) {
|
|
super("Untitled-" + counter);
|
|
this.xlList = xlList;
|
|
this.counter = counter;
|
|
xlList.add(this);
|
|
counter.increment();
|
|
JPanel statusPanel = new StatusPanel(statusLabel);
|
|
JPanel sheetPanel = new SheetPanel(ROWS, COLUMNS);
|
|
Editor editor = new Editor();
|
|
add(NORTH, statusPanel);
|
|
add(CENTER, editor);
|
|
add(SOUTH, sheetPanel);
|
|
setJMenuBar(new XLMenuBar(this, xlList, statusLabel));
|
|
pack();
|
|
setDefaultCloseOperation(EXIT_ON_CLOSE);
|
|
setResizable(false);
|
|
setVisible(true);
|
|
}
|
|
|
|
public void rename(String title) {
|
|
setTitle(title);
|
|
xlList.setChanged();
|
|
}
|
|
|
|
public static void main(String[] args) {
|
|
new XL(new XLList(), new XLCounter());
|
|
}
|
|
}
|