我在windows界面感官下创建的JFileChooser,显示有点点小问题,最上面的“向上一层”、“创建新的文件夹”等几个按钮显示不出来,不知道是什么原因,求高手解答,首先说明,我的系统是Windows 7旗舰版的,如果把设置感官界面的语句取消,界面显示完全是正常的,下面是我的代码: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);
}
}
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);
}
}
把if (System.getProperty("os.name").toUpperCase().indexOf("WINDOWS") != -1)
{
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
}
去掉就是java界面的,加上就是win7本身的
你看看是不是你系统什么组件没有装的问题