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);
}
}
以上内容是否对您有帮助:

免费 AI IDE


更多建议: