接着上一章介绍自己用到的几个控件集实现相关事件的方法。
文件上传、图片展示功能模块实现
文件上传
Jpanel加标题
很简单单击Jpanel,在右侧properties框中往下翻找到Accessible Name,点击后面三个点图标,在弹出的窗体中设置下拉框,选择plain text纯文本,然后在下面输入自己想要设置的文字。
布局
1. JLabel
在右侧【Swing Controls】拖入Label标签,Text Field标签,排好版之后,双击Label更改要显示的文字。
2. JTextField
对于Text Field是要显示文件路径,本文默认设置显示“请选择文件”,在右侧【Properties】中找到【text】在后面输入“请选择文件”,同时设置Text Field不可编辑,找到【editable】将勾选取消。
3. Button
在右侧【Swing Controls】拖入Button标签,双击Button更改要显示的文字。
文件选择器
文件选择器JFileChooser是用于供用户选择文件名的选择器(如下图)。类似于其他的Swing选择器组件,JFileChooser并没有自动被放入一个弹出的对话框中,但可以置于程序用户界面的任何地方。
具体步骤:
- Design视图下,在左下方的导航窗口中,右击【other components】,选择【swing windows下】->【add from palett】->【swing windows】->选择【file chooser】,如下所示。出现jFileChoose选项。
单击jFileChooser,在右侧的控件属性中设置【dialogTitle】的内容,该内容显示在文件选择对话框的上方标题,【currentDirectory】中设置弹出文件窗口的默认显示文件夹。具体如下所示。
- 接下来为【浏览】button按钮组件设计并注册事件监听器。在design视图下双击【浏览】button按钮,进入该button功能代码中。在代码中添加如下代码即可。
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
// jFileChooser1.showSaveDialog(jLabel1);
jFileChooser1.setFileSelectionMode(jFileChooser1.FILES_AND_DIRECTORIES);
int resultFile = jFileChooser1.showOpenDialog(this);
if( resultFile == jFileChooser1.APPROVE_OPTION){
jTextField1.setText(jFileChooser1.getSelectedFile().getPath());//设置【浏览按钮前的文本框显示文件路径】
//上传文件,并保存至本地
try {
String uploadbasepath ="C:/user/yang/allpreapred.txt";//最终路径
File file = new File(uploadbasepath);
File fl = jFileChooser1.getSelectedFile();//前台传到后台的临时文件
String encoding = "UTF-8";
Long filelength = fl.length();
byte[] filecontent = new byte[filelength.intValue()];
FileInputStream in = new FileInputStream(fl);
in.read(filecontent);
in.close();
String text = new String(filecontent, encoding);//拿到前台临时文件的内容
BufferedWriter bw = new BufferedWriter(new FileWriter(uploadbasepath));
bw.write(text);
bw.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
图片展示
- 拖拽一个Jpanel,然后在拖拽一个Label放进jpanel中,拖拽Lable大小与JPanel大小相同,在左侧导航窗口中右键新建的Lable,选择【change variable name】更改Label名称为imageLabel。
- 添加一个button按钮,双击button按钮进入button功能代码快中,输入如下代码。
ImageIcon imageIcon = new ImageIcon("C:/Users/SWIFT/Documents/NetBeansProjects/JavaApplication1/diseny9-0.679.png");
Image image = imageIcon.getImage();
Image smallImage = image.getScaledInstance(imageLabel.getWidth(), imageLabel.getHeight(),Image.SCALE_FAST);
ImageIcon smallIcon = new ImageIcon(smallImage);
imageLabel.setIcon(smallIcon);// 设置图片到GUI上
则实现单击button按钮显示出图片。