📄 swingframe.java
字号:
package gnu.kawa.swingviews;import gnu.kawa.models.*;import java.awt.Component;import java.awt.Container;import javax.swing.*;import gnu.lists.*;public class SwingFrame extends JFrameimplements gnu.kawa.models.Window{ SwingDisplay display; public Display getDisplay () { return display; } public SwingFrame (String title, javax.swing.JMenuBar menubar, Object contents) { JFrame fr = this; if (title != null) fr.setTitle(title); if (menubar != null) fr.setJMenuBar(menubar); Container pane = getContentPane(); pane.setLayout(new BoxLayout(pane, BoxLayout.X_AXIS)); addComponent(contents); } public void setContent (Object content) { setContentPane(new JPanel()); addComponent(content); pack(); } public void setMenuBar (Object menubar) { setJMenuBar((javax.swing.JMenuBar) menubar); } public void addComponent (Object contents) { if (contents instanceof gnu.lists.FString || contents instanceof String) getContentPane().add(new JLabel(contents.toString())); else if (contents instanceof AbstractSequence) { AbstractSequence seq = (AbstractSequence) contents; for (int iter = seq.startPos(); (iter = seq.nextPos(iter)) != 0; ) addComponent(seq.getPosPrevious(iter)); } else if (contents instanceof Viewable) ((Viewable) contents).makeView(getDisplay(), getContentPane()); else if (contents instanceof Paintable) getContentPane().add(new SwingPaintable((Paintable) contents)); else if (contents != null) getContentPane().add((Component) contents); } public void open () { pack(); setVisible(true); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -