swingframe.java

来自「A framework written in Java for implemen」· Java 代码 · 共 65 行

JAVA
65
字号
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 + =
减小字号Ctrl + -
显示快捷键?