java windows界面感官 JFileChooser

我在windows界面感官下创建的JFileChooser,显示有点点小问题,最上面的“向上一层”、“创建新的文件夹”等几个按钮显示不出来,不知道是什么原因,求高手解答,... 我在windows界面感官下创建的JFileChooser,显示有点点小问题,最上面的“向上一层”、“创建新的文件夹”等几个按钮显示不出来,不知道是什么原因,求高手解答,首先说明,我的系统是Windows 7旗舰版的,如果把设置感官界面的语句取消,界面显示完全是正常的,下面是我的代码:
[code=Java]
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);
}
}
[/code]
展开
 我来答
悉心且深远灬萨摩A
2012-06-15 · TA获得超过636个赞
知道小有建树答主
回答量:294
采纳率:0%
帮助的人:310万
展开全部

我测试了的,行啊,完全没问题。不知道图贴上没有。

也是win7,我用的jdk是1.6.27

不过那个跟jdk没关,

纵丽影
2012-06-15
知道答主
回答量:17
采纳率:0%
帮助的人:9万
展开全部
package example;

import java.awt.BorderLayout;

public class Switch extends JFrame {

private JPanel contentPane;

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Switch frame = new Switch();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public Switch() {
final String string = "你好";
final String string2 = "再见";
setTitle("\u5207\u6362\u6807\u7B7E\u5185\u5BB9");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
final JLabel label = new JLabel(string);
label.setFont(new Font("宋体",Font.BOLD,25));
JButton button = new JButton("\u786E\u5B9A");
button.addActionListener(new ActionListener(){

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if (label.getText().equals(string)) {
label.setText(string2);
}
else if (label.getText().equals(string2)) {
label.setText(string);
}
}

});
GroupLayout groupLayout = new GroupLayout(contentPane);
groupLayout.setHorizontalGroup(
groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addGap(153, 153, 153)
.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
.addComponent(button)
.addComponent(label))
.addContainerGap(222, Short.MAX_VALUE))
);
groupLayout.setVerticalGroup(
groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addGap(80, 80, 80)
.addComponent(label)
.addGap(38, 38, 38)
.addComponent(button)
.addContainerGap(100, Short.MAX_VALUE))
);
contentPane.setLayout(groupLayout);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bd9006
2012-06-15 · TA获得超过2.5万个赞
知道大有可为答主
回答量:4.8万
采纳率:63%
帮助的人:1.6亿
展开全部

测试了,正常

(看图,等审核)

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友845f74e61
2012-06-15 · TA获得超过6929个赞
知道大有可为答主
回答量:4050
采纳率:50%
帮助的人:1627万
展开全部
在XP下试了一下,是正常的
bd9006 的图也象是WIN7的。

猜测,你的运行JRE是不是不正确呢?
追问
我是用的myeclipse运行的
追答
你看一下你的myeclipse中指定的JRE是那个,如果是myeclipse自带的JRE就换成你硬盘上安装或解压的。试一下。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hitzsf
2012-06-15 · TA获得超过2060个赞
知道大有可为答主
回答量:1741
采纳率:78%
帮助的人:1166万
展开全部
把皮肤感官那一段 放到main 程序快里,应该就没问题了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式