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] 展开
[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] 展开
5个回答
展开全部
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);
}
}
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);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在XP下试了一下,是正常的
bd9006 的图也象是WIN7的。
猜测,你的运行JRE是不是不正确呢?
bd9006 的图也象是WIN7的。
猜测,你的运行JRE是不是不正确呢?
追问
我是用的myeclipse运行的
追答
你看一下你的myeclipse中指定的JRE是那个,如果是myeclipse自带的JRE就换成你硬盘上安装或解压的。试一下。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把皮肤感官那一段 放到main 程序快里,应该就没问题了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |