javaSwing总结
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
0(最暗)到 255(最亮)。 如下设置按钮背景色和前景色的例子: JButton jbtOK = new JButton(); jbtOK.setBackground(color) JbtOK.setForeground(new Color(100, 1, 1)); 有 13 种标准色:black、blue、cyan、darkGray、gray、green、lightGray、magenta、orange、
hgap:int,vgap:int) 和垂直间距的
类中提供的数据域都有 get 和 set 方法。
改变框架大小,按钮的布局任然保持不变(也就是说,行数和列数不变,间距 也不变),所有组件的大小都一样。
BorderLayout:将窗口分为五个区域:东区,南区,西区,北区和中央。使用 add 方法将 组件添加到 BorderLayout。
add(new JLabel("Last Name"));
add(new JTextField(8));
}
public static void main(String[] args){
ShowFlowLayout frame = new ShowFlowLayout();
frame.setTitle("ShowFlowLayout");
布局管理器的属性可以修改,例如: FlowLayout flowLayout = new FlowLayout(); flowLayout.setAlignment(FLowLayout.RIGHT); flowLayout.setHgap(10); flowLayout.setVgap(20);
Color 类: RGB: 颜色是由红绿蓝三原色构成,每种原色的强度都用一个无符号的 byte 值表示,从
框架:
使用 JFrame 类创建一个框架
Javax.swing.JFrame JFrame() 创建没有标题的默认框架 JFrame(title: String) 创建具有指定标题的框架 setSize(width: int, height: int):void 指定框架大小 setLocation(x: int, y: int):void 指定框架左上角的位置 setVisible(visible: boolean):void 设置为 true 以显示框架 setDefaultCloseOperation(mode: int):void 指定关闭框架时的操作 setLocationRelaticeTo(c: component): void 设置框架相对于特定组 件的位置。如果组件为 null,框架在屏幕上居中显示。
hgap: int 这种布局管理器的水平间距(默认为 0)
数据域都有 get 和 set 方法。
vgap: int 这种布局管理器的垂直间距(默认为 0)
BorderLayout()创建默认的 BorderLayout 布局管理器
BorderLayout(hgap:int,vgap:int)指定了水平间距和垂直间距的
// setLayout(new GridLayout(3,2,5,5));
add(new JLabel("First Name")); //添加标签
add(new JTextField(8));
//添加文本框的长度
add(new JLabel("MI"));
add(new JTextField(1));
pink、red、white、yellow 也可全用大写,两个组合的用下划线连接 如:jbtOK.setForeground(Color.red); Font 类:字体 Font font1 = new Font(“SansSerif”, Font,BOLD, 16); JButton jbtOK = new JButton(“OK”); jbtOK.setFont(font1);
JPanel p2 = new JPanel(new BorderLayout()); p2.add(new JTextField("Time to be displayed here"), BorderLayout.NORTH); p2.add(p1, BorderLayout.CENTER);
add(p2, BorderLayout.EAST); add(new JButton("Food to be placed here"), BorderLayout.CENTER); } public static void main(String[] args){ TestPanels frame = new TestPanels(); frame.setTitle("The Front View of a Microwave Oven"); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(400, 250); frame.setVisible(true); } } 谨记:设计时:大范围——>小范围 编码时:小范围——>大范围
放满一行就开始新的一行。FlowLayout.RIGHT, FlowLayout.CENTER, FlowLayout.LEFT,
public class ShowFlowLayout extends JFrame{
public ShowFlowLayout(){
setLayout(new FlowLayout(FlowLayout.LEFT, 10, 20));
}
运行结果:为一个空白框
如果加上红色的部分,运行结果多 了一个 OK 的按钮,如下所示:
使用 add 方法可以在框架中添加组件,如右图 使用 remove 方法可以删除一个按钮
三个基本的布局管理器:FlowLayout,GridLayout,Borderlayout FlowLayout:按照添加的顺序,由左到右将组件排列在容器中,
frame.setLocationRelativeTo(null);
ቤተ መጻሕፍቲ ባይዱ
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200,200); frame.setVisible(true);
如果是用 GridLayout(),红色部分
}
}
以上程序是创建 GUI 应用程序较好的风格 1. 可以通过创建一个类的多个实例创建多个框架 2. 可以进一步扩展框架来添加新的组件或函数 3. 这个类可以很容易地重复使用
GirdLayout:根据构造方法定义行数和列数,按照添加的顺序从左到右排列,一行接一行。
Java.awt.GirdLayout rows: int 这种布局管理器的行数(默认为 1) columns: int 这种布局管理器的列数(默认为 1) hgap: int 这种布局管理器的水平间距(默认为 0) vgap: int 这种布局管理器的垂直间距(默认为 0) GridLayout()创建默认的 GirdLayout 布局管理器 GridLayout(rows: int, columns: int)指定了行数和列数的 GridLayout(rows:int,column:int,指定了行数和列数,水平间距
public class MyFrame { public static void main(String[] args){ JFrame frame = new JFrame("MyFrame");//Create a frame JButton jbtOK = new JButton("OK"); frame.add(jbtOK); frame.setSize(400, 300);//Set the Frame Size frame.setLocationRelativeTo(null);//center the frame frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true);//Display the frame }
public TestPanels(){ JPanel p1 = new JPanel(); p1.setLayout(new GridLayout(4,3));
for(int i = 1; i <= 9; i++){ p1.add(new JButton("" + i));
} p1.add(new JButton("" + 0)); p1.add(new JButton("Start")); p1.add(new JButton("Stop"));
使用面板作子容器 JPanel p = new JPanel();//创建一个带默认 FlowLayout 管理器的面板,带参数时指定管理器 p.add(new JButton(“OK”);//给 p 这个面板添加一个按钮 f.add(p);//将面板 p 放到框架 f 中 如下程序: public class TestPanels extends JFrame{
add(new JButton("Center"), BorderLayout.CENTER); } public static void main(String[] args){
ShowBorderLayout frame = new ShowBorderLayout(); frame.setTitle("ShowBorderLayout"); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(300, 200); frame.setVisible(true); } } 运行结果如右图:可以改变框的大小 当左右增减时,West 和 East 大小不会变 减少至 Center 没有时结束 当下次增减时,North 和 South 可以完全减为 0 增加时,North 和 South 大小不变 如果哪一个方位没有了,则会被中间的部分覆盖
public class ShowBorderLayout extends JFrame{ public ShowBorderLayout(){ setLayout(new BorderLayout(5,10 )); add(new JButton("East"), BorderLayout.EAST); add(new JButton("South"), BorderLayout.SOUTH); add(new JButton("West"), BorderLayout.WEST); add(new JButton("North"), BorderLayout.NORTH);
hgap:int,vgap:int) 和垂直间距的
类中提供的数据域都有 get 和 set 方法。
改变框架大小,按钮的布局任然保持不变(也就是说,行数和列数不变,间距 也不变),所有组件的大小都一样。
BorderLayout:将窗口分为五个区域:东区,南区,西区,北区和中央。使用 add 方法将 组件添加到 BorderLayout。
add(new JLabel("Last Name"));
add(new JTextField(8));
}
public static void main(String[] args){
ShowFlowLayout frame = new ShowFlowLayout();
frame.setTitle("ShowFlowLayout");
布局管理器的属性可以修改,例如: FlowLayout flowLayout = new FlowLayout(); flowLayout.setAlignment(FLowLayout.RIGHT); flowLayout.setHgap(10); flowLayout.setVgap(20);
Color 类: RGB: 颜色是由红绿蓝三原色构成,每种原色的强度都用一个无符号的 byte 值表示,从
框架:
使用 JFrame 类创建一个框架
Javax.swing.JFrame JFrame() 创建没有标题的默认框架 JFrame(title: String) 创建具有指定标题的框架 setSize(width: int, height: int):void 指定框架大小 setLocation(x: int, y: int):void 指定框架左上角的位置 setVisible(visible: boolean):void 设置为 true 以显示框架 setDefaultCloseOperation(mode: int):void 指定关闭框架时的操作 setLocationRelaticeTo(c: component): void 设置框架相对于特定组 件的位置。如果组件为 null,框架在屏幕上居中显示。
hgap: int 这种布局管理器的水平间距(默认为 0)
数据域都有 get 和 set 方法。
vgap: int 这种布局管理器的垂直间距(默认为 0)
BorderLayout()创建默认的 BorderLayout 布局管理器
BorderLayout(hgap:int,vgap:int)指定了水平间距和垂直间距的
// setLayout(new GridLayout(3,2,5,5));
add(new JLabel("First Name")); //添加标签
add(new JTextField(8));
//添加文本框的长度
add(new JLabel("MI"));
add(new JTextField(1));
pink、red、white、yellow 也可全用大写,两个组合的用下划线连接 如:jbtOK.setForeground(Color.red); Font 类:字体 Font font1 = new Font(“SansSerif”, Font,BOLD, 16); JButton jbtOK = new JButton(“OK”); jbtOK.setFont(font1);
JPanel p2 = new JPanel(new BorderLayout()); p2.add(new JTextField("Time to be displayed here"), BorderLayout.NORTH); p2.add(p1, BorderLayout.CENTER);
add(p2, BorderLayout.EAST); add(new JButton("Food to be placed here"), BorderLayout.CENTER); } public static void main(String[] args){ TestPanels frame = new TestPanels(); frame.setTitle("The Front View of a Microwave Oven"); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(400, 250); frame.setVisible(true); } } 谨记:设计时:大范围——>小范围 编码时:小范围——>大范围
放满一行就开始新的一行。FlowLayout.RIGHT, FlowLayout.CENTER, FlowLayout.LEFT,
public class ShowFlowLayout extends JFrame{
public ShowFlowLayout(){
setLayout(new FlowLayout(FlowLayout.LEFT, 10, 20));
}
运行结果:为一个空白框
如果加上红色的部分,运行结果多 了一个 OK 的按钮,如下所示:
使用 add 方法可以在框架中添加组件,如右图 使用 remove 方法可以删除一个按钮
三个基本的布局管理器:FlowLayout,GridLayout,Borderlayout FlowLayout:按照添加的顺序,由左到右将组件排列在容器中,
frame.setLocationRelativeTo(null);
ቤተ መጻሕፍቲ ባይዱ
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200,200); frame.setVisible(true);
如果是用 GridLayout(),红色部分
}
}
以上程序是创建 GUI 应用程序较好的风格 1. 可以通过创建一个类的多个实例创建多个框架 2. 可以进一步扩展框架来添加新的组件或函数 3. 这个类可以很容易地重复使用
GirdLayout:根据构造方法定义行数和列数,按照添加的顺序从左到右排列,一行接一行。
Java.awt.GirdLayout rows: int 这种布局管理器的行数(默认为 1) columns: int 这种布局管理器的列数(默认为 1) hgap: int 这种布局管理器的水平间距(默认为 0) vgap: int 这种布局管理器的垂直间距(默认为 0) GridLayout()创建默认的 GirdLayout 布局管理器 GridLayout(rows: int, columns: int)指定了行数和列数的 GridLayout(rows:int,column:int,指定了行数和列数,水平间距
public class MyFrame { public static void main(String[] args){ JFrame frame = new JFrame("MyFrame");//Create a frame JButton jbtOK = new JButton("OK"); frame.add(jbtOK); frame.setSize(400, 300);//Set the Frame Size frame.setLocationRelativeTo(null);//center the frame frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true);//Display the frame }
public TestPanels(){ JPanel p1 = new JPanel(); p1.setLayout(new GridLayout(4,3));
for(int i = 1; i <= 9; i++){ p1.add(new JButton("" + i));
} p1.add(new JButton("" + 0)); p1.add(new JButton("Start")); p1.add(new JButton("Stop"));
使用面板作子容器 JPanel p = new JPanel();//创建一个带默认 FlowLayout 管理器的面板,带参数时指定管理器 p.add(new JButton(“OK”);//给 p 这个面板添加一个按钮 f.add(p);//将面板 p 放到框架 f 中 如下程序: public class TestPanels extends JFrame{
add(new JButton("Center"), BorderLayout.CENTER); } public static void main(String[] args){
ShowBorderLayout frame = new ShowBorderLayout(); frame.setTitle("ShowBorderLayout"); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(300, 200); frame.setVisible(true); } } 运行结果如右图:可以改变框的大小 当左右增减时,West 和 East 大小不会变 减少至 Center 没有时结束 当下次增减时,North 和 South 可以完全减为 0 增加时,North 和 South 大小不变 如果哪一个方位没有了,则会被中间的部分覆盖
public class ShowBorderLayout extends JFrame{ public ShowBorderLayout(){ setLayout(new BorderLayout(5,10 )); add(new JButton("East"), BorderLayout.EAST); add(new JButton("South"), BorderLayout.SOUTH); add(new JButton("West"), BorderLayout.WEST); add(new JButton("North"), BorderLayout.NORTH);