在本文中,我们将给您介绍关于博为峰Java技术文章——JavaSESwingJFileChooser组件Ⅱ的详细内容,并且为您解答javaswing组件介绍的相关问题,此外,我们还将为您提供关于博为峰
在本文中,我们将给您介绍关于博为峰Java技术文章 ——JavaSE Swing JFileChooser组件Ⅱ的详细内容,并且为您解答javaswing组件介绍的相关问题,此外,我们还将为您提供关于博为峰Java技术文章 ——JavaSE Swing BorderLayout布局管理器、博为峰Java技术文章 ——JavaSE Swing BoxLayout布局管理器I、博为峰Java技术文章 ——JavaSE Swing BoxLayout布局管理器II、博为峰Java技术文章 ——JavaSE Swing FlowLayout布局管理器II的知识。
本文目录一览:- 博为峰Java技术文章 ——JavaSE Swing JFileChooser组件Ⅱ(javaswing组件介绍)
- 博为峰Java技术文章 ——JavaSE Swing BorderLayout布局管理器
- 博为峰Java技术文章 ——JavaSE Swing BoxLayout布局管理器I
- 博为峰Java技术文章 ——JavaSE Swing BoxLayout布局管理器II
- 博为峰Java技术文章 ——JavaSE Swing FlowLayout布局管理器II
博为峰Java技术文章 ——JavaSE Swing JFileChooser组件Ⅱ(javaswing组件介绍)
博为峰小博老师:
JFileChooser代码示例如下:
public class BWF implements ActionListener{
JFrame f=null;
JLabel label=null;
JTextArea textArea=null;
JFileChooser fileChooser;
public BWF() {
f=new JFrame("博为峰教育");
Container contentPane=f.getContentPane();
textArea=new JTextArea();
JScrollPane scrollPane=new JScrollPane(textArea);
scrollPane.setPreferredSize(new Dimension(350, 300));
JPanel panel=new JPanel();
JButton b1=new JButton("新建文件");
b1.addActionListener(this);
JButton b2=new JButton("退出文件");
b2.addActionListener(this);
panel.add(b1);
panel.add(b2);
label=new JLabel("",JLabel.CENTER);
//建立一个FileChooser对象,指定D盘目录为默认文件对话框路径
fileChooser=new JFileChooser("D:\\");
contentPane.add(label,BorderLayout.NORTH);
contentPane.add(scrollPane,BorderLayout.CENTER);
contentPane.add(panel,BorderLayout.SOUTH);
f.pack();
f.setVisible(true);
f.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public static void main(String[] args) {
new BWF();
}
@Override
public void actionPerformed(ActionEvent e) {
File file=null;
int result;
if(e.getActionCommand().equals("新建文件")){
fileChooser.setApproveButtonText("确定");
fileChooser.setDialogTitle("打开文件");
result=fileChooser.showOpenDialog(f);
textArea.setText("");
if(result==JFileChooser.APPROVE_OPTION){
file=fileChooser.getSelectedFile();
label.setText("你打开的文件名为:"+file.getName());
}
else if(result==JFileChooser.CANCEL_OPTION){
label.setText("你没有选择任何文件");
}
FileInputStream fileInputStream=null;
if(file!=null){
try{
fileInputStream=new FileInputStream(file);
}catch(Exception e1){
label.setText("没找到文件");
return;
}
String readbyte=null;
try{
BufferedReader br = new BufferedReader(new InputStreamReader(fileInputStream));
while((readbyte=br.readLine())!=null){
textArea.setLineWrap(true);
textArea.append(String.valueOf(readbyte));
}
}catch(Exception e1){
label.setText("读取文件错误");
}finally {
try{
if(fileInputStream!=null){
fileInputStream.close();
}
}catch(Exception e1){
}
}
}
}
}
}
博为峰Java技术文章 ——JavaSE Swing BorderLayout布局管理器
博为峰小博老师:
BorderLayout是一种简单的布局策略,在使用这个布局管理器的时候,应该将其看作是一个组件,所以,首先应通过构造器创建布局管理器对象,再通过引用其中的方法和变量来对组件进行布局。下图列举出BorderLayout布局管理器的构造器。
布局管理器把容器分为东、南、西、北、中5个区域,每个组件将占据某个区域。而这5个区域分别被命名为NORTH, WEST, EAST, CENTER, SOUTH,它们都被定义为静态常量,静态常量可以直接引用。这种布局管理器所定义的5个静态常量的说明如下所示。
博为峰Java技术文章 ——JavaSE Swing BoxLayout布局管理器I
博为峰小博老师:
箱式布局比较灵活,也比较实用。Swing提供的BOX类就是箱式布局类,它的默认布局管理器就是BoxLayout,在箱式布局管理器中包括两种箱子:一种是水平箱,另外一种是垂直箱。
创建一个水平箱的源代码如下:
创建一个垂直箱的源代码如下:
创建好箱子后,就可以像添加其他组件一样添加下面的控件,源代码如下:
两种箱子的区别在于组件的排列顺序,水平箱是按照从左到右的顺序排列,而垂直箱按照从上到下的顺序排列。对于箱式布局管理器而言,最关键的就是每个组件的3个尺寸。
l 首选尺寸,即组件显示时的宽度和高度。
l 最大尺寸,即组件能被显示的最大宽度和高度。
l 最小尺寸,即组件被显示的最小高度和最小宽度。
下面是水平箱式布局管理器中组件排列的几个重点:
l 计算最高组件的最大高度,尝试把所有的组件都增加到这个高度。如果有某些组件不能达到此高度,那么要在Y轴上对齐需要通过getAlignmentY方法实现,该方法返回一个介于0(按顶部对齐)和1(按底部对齐)之间的浮点数。组件的默认值是0.5,也就是中线对齐。
l 得到每个组件的首选宽度,然后把所有的首选宽度合计起来。
l 如果首选宽度总和小于箱的宽度,那么所有的组件都会相应的延伸,直到适应这个箱子的宽度。组件从左到右排列,并且相邻两个组件之间没有多余的空格。
博为峰Java技术文章 ——JavaSE Swing BoxLayout布局管理器II
博为峰小博老师:
箱式布局组件之间没有空隙,那么就要通过一个称为填充物的组件来提供空隙。箱式布局管理器提供了3种填充物:支柱、固定区、弹簧。下面将通过实例来介绍如何使用箱式布局管理器布局。
public class BWF{
public static int WIDTH=200;
public static int HEIGHT=150;
public static void main(String args[]){
JFrame jf=new JFrame("测试箱式布局管理器");
jf.setSize(WIDTH, HEIGHT);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel contentPane=new JPanel();
JLabel label1=new JLabel(" 姓名:");//创建标签组件,文本框组件
JTextField textField=new JTextField(10);
textField.setMaximumSize(textField.getPreferredSize());
Box hbox1=Box.createHorizontalBox();//创建一个水平箱子
hbox1.add(label1);
//在水平箱子上添加一个标签组件,并且创建一个不可见的20个单位的组件
//在这之后再添加一个文本组件
hbox1.add(Box.createHorizontalStrut(20));
hbox1.add(textField);
JLabel label2=new JLabel(" 年龄:");//创建标签组件,文本框组件
JTextField textField2=new JTextField(10);
textField.setMaximumSize(textField2.getPreferredSize());
Box hbox2=Box.createHorizontalBox();//创建一个水平箱子
hbox2.add(label2);
//在水平箱子上添加一个标签组件,并且创建一个不可见的20个单位的组件
//在这之后再添加一个文本组件
hbox2.add(Box.createHorizontalStrut(20));
hbox2.add(textField2);
JButton button1=new JButton("确定");
JButton button2=new JButton("取消");
Box hbox3=Box.createHorizontalBox();
hbox3.add(button1);
hbox3.add(Box.createHorizontalStrut(20));
hbox3.add(button2);
Box vbox=Box.createVerticalBox();
vbox.add(hbox1);
vbox.add(Box.createVerticalStrut(10));
vbox.add(hbox2);
vbox.add(Box.createVerticalStrut(20));
vbox.add(hbox3);
//垂直箱子添加到BorderLayout布局管理器中的中间位置
contentPane.add(vbox,BorderLayout.CENTER);
jf.setContentPane(contentPane);
jf.setVisible(true);
}
}
博为峰Java技术文章 ——JavaSE Swing FlowLayout布局管理器II
博为峰小博老师:
FlowLayout容器中组件都是依次排列的,没有像BorderLayout布局管理器一样有5个不同的方位。下面将BorderLayout布局管理器和FlowLayout布局管理器结合在一起列举一个实例。此实例的思路是将FlowLayout布局管理器同顶层容器关联,然后在其中添加5个BorderLayout布局管理器,并在这5个布局管理器中添加组件。其代码如下所示:
public class BWF {
public static int width=1000;
public static int height=130;
public static void main(String args[]){
JFrame jf=new JFrame("FlowLayout实例");
jf.setSize(width, height);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
JPanel contentPane=new JPanel();
jf.setContentPane(contentPane);
contentPane.setLayout(new FlowLayout());//将中间容器的布局管理器设置为FlowLayout
JPanel p1=new JPanel();
JPanel p2=new JPanel();
JPanel p3=new JPanel();
JPanel p4=new JPanel();
JPanel p5=new JPanel();
contentPane.add(p1);//将5个面板按照FlowLayout布局方式添加到中间容器中
contentPane.add(p2);
contentPane.add(p3);
contentPane.add(p4);
contentPane.add(p5);
JButton b1=new JButton("港元");//创建25个普通按钮组件
JButton b2=new JButton("人民币");
JButton b3=new JButton("美元");
JButton b4=new JButton("欧元");
JButton b5=new JButton("英镑");
JButton b6=new JButton("主板");
JButton b7=new JButton("内存条");
JButton b8=new JButton("鼠标");
JButton b9=new JButton("显示器");
JButton b10=new JButton("键盘");
JButton b11=new JButton("大米");
JButton b12=new JButton("蔬菜");
JButton b13=new JButton("牛肉");
JButton b14=new JButton("鸡肉");
JButton b15=new JButton("茄子");
JButton b16=new JButton("面包");
JButton b17=new JButton("蛋糕");
JButton b18=new JButton("苹果派");
JButton b19=new JButton("巧克力");
JButton b20=new JButton("果冻");
JButton b21=new JButton("文件夹");
JButton b22=new JButton("涂改液");
JButton b23=new JButton("铅笔");
JButton b24=new JButton("办公桌");
JButton b25=new JButton("钢笔");
p1.setLayout(new BorderLayout());//将p1面板设置为BorderLayout
p1.add(b1,BorderLayout.WEST);//将1-5普通按钮添加到p1面板中
p1.add(b2,BorderLayout.SOUTH);
p1.add(b3,BorderLayout.EAST);
p1.add(b4,BorderLayout.NORTH);
p1.add(b5,BorderLayout.CENTER);
p2.setLayout(new BorderLayout());
p2.add(b6,BorderLayout.WEST);//将6-10普通按钮添加到p2面板中
p2.add(b7,BorderLayout.SOUTH);
p2.add(b8,BorderLayout.EAST);
p2.add(b9,BorderLayout.NORTH);
p2.add(b10,BorderLayout.CENTER);
p3.setLayout(new BorderLayout());
p3.add(b11,BorderLayout.WEST);//将11-15普通按钮添加到p3面板中
p3.add(b12,BorderLayout.SOUTH);
p3.add(b13,BorderLayout.EAST);
p3.add(b14,BorderLayout.NORTH);
p3.add(b15,BorderLayout.CENTER);
p4.setLayout(new BorderLayout());
p4.add(b16,BorderLayout.WEST);//将16-20普通按钮添加到p4面板中
p4.add(b17,BorderLayout.SOUTH);
p4.add(b18,BorderLayout.EAST);
p4.add(b19,BorderLayout.NORTH);
p4.add(b20,BorderLayout.CENTER);
p5.setLayout(new BorderLayout());
p5.add(b21,BorderLayout.WEST);//将21-25普通按钮添加到p5面板中
p5.add(b22,BorderLayout.SOUTH);
p5.add(b23,BorderLayout.EAST);
p5.add(b24,BorderLayout.NORTH);
p5.add(b25,BorderLayout.CENTER);
}
}
关于博为峰Java技术文章 ——JavaSE Swing JFileChooser组件Ⅱ和javaswing组件介绍的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于博为峰Java技术文章 ——JavaSE Swing BorderLayout布局管理器、博为峰Java技术文章 ——JavaSE Swing BoxLayout布局管理器I、博为峰Java技术文章 ——JavaSE Swing BoxLayout布局管理器II、博为峰Java技术文章 ——JavaSE Swing FlowLayout布局管理器II的相关知识,请在本站寻找。
本文标签: