java swing 窗口布局
2010-05-07 12:24
260 查看
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class AppleExpertSystem {
public static void main(String[] args) {
AppleMainFrame aesFrame = new AppleMainFrame("系统");
aesFrame.setVisible(true);
}
}
class AppleMainFrame extends JFrame implements ActionListener {
Container p;
final JScrollPane leftPane; //放目录树面板
final JScrollPane rightPane; //主面板
final JSplitPane jsp; //分割窗口
final JPanel treePane = new JPanel();
final JPanel mainPane = new JPanel();
int V_SBar = ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS;
int H_SBar = ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS;
final JMenuBar mb = new JMenuBar();
final JMenu[] m = {new JMenu("开始"),
new JMenu("决策"),
new JMenu("视图"),
new JMenu("帮助")};
final JMenuItem[][] mi = {{new JMenuItem("功能"),new JMenuItem("退出")},
{new JMenuItem("")},
{new JMenuItem("")},
{new JMenuItem("使用帮助"),new JMenuItem("关于")}};
public AppleMainFrame(String title) {
super(title);
setSize(800, 600);
centerOnScreen();
p = getContentPane();
for(int i=0; i<m.length; i++) {
for(int j=0; j<mi[i].length; j++) {
m[i].add(mi[i][j]);
mi[i][j].addActionListener(this);
}
mb.add(m[i]);
}
setJMenuBar(mb);
treePane.add(new JTextArea("left"));
mainPane.add(new JTextArea("right"));
leftPane = new JScrollPane(treePane, V_SBar, H_SBar);
rightPane = new JScrollPane(mainPane, V_SBar, H_SBar);
jsp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, leftPane, rightPane);
Dimension winSize = getSize();
jsp.setDividerLocation(winSize.width/6);
jsp.setDividerSize(5);
p.add(jsp);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
}
public void centerOnScreen() { //使窗体被创建后在屏幕中间显示
Dimension displaySize = getToolkit().getScreenSize();
Dimension winSize = getSize();
int x = (displaySize.width - winSize.width) / 2;
int y = (displaySize.height - winSize.height) / 2;
if(x < 0) {
x = 0;
}
if(y < 0) {
y = 0;
}
setLocation(x, y);
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class AppleExpertSystem {
public static void main(String[] args) {
AppleMainFrame aesFrame = new AppleMainFrame("系统");
aesFrame.setVisible(true);
}
}
class AppleMainFrame extends JFrame implements ActionListener {
Container p;
final JScrollPane leftPane; //放目录树面板
final JScrollPane rightPane; //主面板
final JSplitPane jsp; //分割窗口
final JPanel treePane = new JPanel();
final JPanel mainPane = new JPanel();
int V_SBar = ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS;
int H_SBar = ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS;
final JMenuBar mb = new JMenuBar();
final JMenu[] m = {new JMenu("开始"),
new JMenu("决策"),
new JMenu("视图"),
new JMenu("帮助")};
final JMenuItem[][] mi = {{new JMenuItem("功能"),new JMenuItem("退出")},
{new JMenuItem("")},
{new JMenuItem("")},
{new JMenuItem("使用帮助"),new JMenuItem("关于")}};
public AppleMainFrame(String title) {
super(title);
setSize(800, 600);
centerOnScreen();
p = getContentPane();
for(int i=0; i<m.length; i++) {
for(int j=0; j<mi[i].length; j++) {
m[i].add(mi[i][j]);
mi[i][j].addActionListener(this);
}
mb.add(m[i]);
}
setJMenuBar(mb);
treePane.add(new JTextArea("left"));
mainPane.add(new JTextArea("right"));
leftPane = new JScrollPane(treePane, V_SBar, H_SBar);
rightPane = new JScrollPane(mainPane, V_SBar, H_SBar);
jsp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, leftPane, rightPane);
Dimension winSize = getSize();
jsp.setDividerLocation(winSize.width/6);
jsp.setDividerSize(5);
p.add(jsp);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
}
public void centerOnScreen() { //使窗体被创建后在屏幕中间显示
Dimension displaySize = getToolkit().getScreenSize();
Dimension winSize = getSize();
int x = (displaySize.width - winSize.width) / 2;
int y = (displaySize.height - winSize.height) / 2;
if(x < 0) {
x = 0;
}
if(y < 0) {
y = 0;
}
setLocation(x, y);
}
}
相关文章推荐
- java基础 ---Swing窗口容器和布局
- java在线聊天项目0.2版本 制作客户端窗体,使用swing(用户界面开发工具包)和awt(抽象窗口工具包) BorderLayout布局与GridLayout布局不同之处 JPanel设置大小
- Java笔记(10)-图形界面设计、Swing、窗口、JFrame、常用组件和布局、处理事件、MVC结构、对话框、GUI
- java swing绝对布局
- java swing 窗口添加背景图片(不覆盖组件)
- java swing的四种常用布局
- 【Java Swing探索之路系列】之二:Java Swing布局面板组件
- JAVA——Swing入门和布局管理
- Java程序中利用swing.GroupLayout进行布局有关管理器的实例讲解
- java--编写一个JFrame,标题为“计算的窗口”,在该窗口中组件的布局是FlowLayout。窗口中添加两个文本区,当我们在一个文本区中输入若干个数时,另一个文本区同时对输入的数进行求和运算并求
- java&nbsp;swing&nbsp;布局
- atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform
- 【Java】-基础-Swing-常用布局管理器
- Java Swing 绝对布局管理方法,null布局【图】
- java swing中JFileChooser保存文件时,在文件选择窗口提示是否覆盖
- Swing学习----------java的布局管理学习总结(一)
- JavaSwing实现完整的菜单栏、工具栏和状态栏的GUI窗口
- JavaSwing布局GridLayout的用法
- JAVA Swing JFrame窗口的建立
- Java swing 窗口最小化到任务栏 点击右键显示菜单(复制代码即可运行查看效果)