我在windows界面感官下创建的JFileChooser,显示有点点小问题,最上面的“向上一层”、“创建新的文件夹”等几个按钮显示不出来,不知道是什么原因,求高手解答,首先说明,我的系统是Windows 7旗舰版的,如果把设置感官界面的语句取消,界面显示完全是正常的,下面是我的代码:
- Java code
import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.File;import javax.swing.JButton;import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.UIManager;public class JFileChooserTest extends JFrame{ public JFileChooserTest() { super(); // 使用Windows的界面风格 try { // 是windows if (System.getProperty("os.name").toUpperCase().indexOf("WINDOWS") != -1) { UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); } } catch (Exception e) { System.out.println("设置界面感官异常!"); e.printStackTrace(); } setTitle("JFileChooserTest"); setBounds(100,100,350,150); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); final JButton button = new JButton(); final JLabel label = new JLabel(); button.addActionListener(new ActionListener(){ //监听事件 public void actionPerformed(ActionEvent e){ JFileChooser fileChooser = new JFileChooser(); //对话框 int i = fileChooser.showOpenDialog(getContentPane()); //opendialog if(i==JFileChooser.APPROVE_OPTION) //判断是否为打开的按钮 { File selectedFile = fileChooser.getSelectedFile(); //取得选中的文件 label.setText(selectedFile.getPath()); //取得路径 } } }); getContentPane().add(button,BorderLayout.NORTH); //布局处理 getContentPane().add(label,BorderLayout.CENTER); button.setText("上传"); } public static void main(String[] args) { JFileChooserTest jFileChooserTest = new JFileChooserTest(); jFileChooserTest.setVisible(true); }}
------解决方案--------------------
我运行起来没有问题,我是win7旗舰版
把if (System.getProperty("os.name").toUpperCase().indexOf("WINDOWS") != -1)
{
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
}
去掉就是java界面的,加上就是win7本身的
你看看是不是你系统什么组件没有装的问题
------解决方案--------------------
我也遇到了同样的问题,几个按钮显示不出来。估计是JRE和Windows7配合的问题。