Java Swing JWindow
2018-01-09 19:23 更新
Java Swing教程 - Java Swing JWindow
JWindow是一个没有标题栏,窗口菜单等的顶层容器窗口。
import javax.swing.JFrame; import javax.swing.JWindow; /* ww w . j a v a 2s.c om*/ public class Main { public static void main(String[] args) { JFrame f = new JFrame("The Frame"); f.setSize(300, 300); f.setLocation(100, 100); JWindow w = new JWindow(); w.setSize(300, 300); w.setLocation(500, 100); f.setVisible(true); w.setVisible(true); } }
扩展JWindow
如果你需要扩展JWindow,该类有两个受保护的重要方法:
protected void windowInit() protected JRootPane createRootPane()
import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; /*from w ww . j a v a2 s .com*/ import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JWindow; import javax.swing.SwingConstants; public class JWindowNoTitleBar extends JFrame { JWindow window = new JWindow(this); public JWindowNoTitleBar() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); window.getContentPane().add(new JLabel("About"), BorderLayout.NORTH); window.getContentPane().add(new JLabel("Label", SwingConstants.CENTER), BorderLayout.CENTER); JButton b = new JButton("Close"); window.getContentPane().add(b, BorderLayout.SOUTH); b.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { window.setVisible(false); } }); window.pack(); window.setBounds(50, 50, 200, 200); b = new JButton("About..."); b.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { window.setVisible(true); } }); getContentPane().add(b); pack(); } public static void main(String[] args) { new JWindowNoTitleBar().setVisible(true); } }
以上内容是否对您有帮助:
更多建议: