gpt4 book ai didi

java - 单击按钮即可显示文件选择器。 Java Swing

转载 作者:行者123 更新时间:2023-11-30 03:36:48 27 4
gpt4 key购买 nike

我有一项 Java 作业,需要构建一个用于在学生之间交换信息的程序。我正在使用 IntelliJ IDEA 和一个名为 JFormDesigner 的插件来设计 GUI。我想在单击按钮时显示文件选择器。我尝试过不同的实现,但没有一个有效。单击按钮时屏幕上没有显示任何内容我想知道是否有人可以帮助我找到解决方案。

这是按钮代码:

 ChooseButton1.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
ChooseButton1MouseClicked(e);
}
});

这是实现操作的方法:

private void ChooseButton1MouseClicked(MouseEvent e) {

JFileChooser fileChooser = new JFileChooser();
int returnValue = fileChooser.showOpenDialog(null);
if (returnValue == JFileChooser.APPROVE_OPTION)
{
File selectedFile = fileChooser.getSelectedFile();
System.out.println(selectedFile.getName());
}
}

这是测试代码:

import java.awt.event.*;
import javax.swing.*;
import javax.swing.GroupLayout;
import java.io.*;

public class Test extends JPanel {

private JButton ChooseButton;

public Test() {
initComponents();
}

private void ChooseButtonActionPerformed(ActionEvent e) {
JFileChooser fileChooser = new JFileChooser();
int returnValue = fileChooser.showOpenDialog(null);
if (returnValue == JFileChooser.APPROVE_OPTION)
{
File selectedFile = fileChooser.getSelectedFile();
System.out.println(selectedFile.getName());
}
}

private void initComponents() {

ChooseButton = new JButton();


setBorder(new javax.swing.border.CompoundBorder(
new javax.swing.border.TitledBorder(new javax.swing.border.EmptyBorder(0, 0, 0, 0),
"JFormDesigner Evaluation", javax.swing.border.TitledBorder.CENTER,
javax.swing.border.TitledBorder.BOTTOM, new java.awt.Font("Dialog", java.awt.Font.BOLD, 12),
java.awt.Color.red), getBorder())); addPropertyChangeListener(new java.beans.PropertyChangeListener(){public void propertyChange(java.beans.PropertyChangeEvent e) {
if("border".equals(e.getPropertyName())) throw new RuntimeException();
}
});


//---- ChooseButton ----
ChooseButton.setText("Choose");
ChooseButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
ChooseButtonActionPerformed(e);
}
});

GroupLayout layout = new GroupLayout(this);
setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup()
.addGroup(layout.createSequentialGroup()
.addGap(155, 155, 155)
.addComponent(ChooseButton)
.addContainerGap(175, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup()
.addGroup(layout.createSequentialGroup()
.addGap(125, 125, 125)
.addComponent(ChooseButton)
.addContainerGap(143, Short.MAX_VALUE))
);
}

public void main(String[] args) {

Runnable runnable = new Runnable() {
@Override public void run() {
new Test();
}

};
EventQueue.invokeLater(runnable);
}

}

最佳答案

选择另一个监听器

ChooseButton1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
ChooseButton1MouseClicked(e);
}
});

关于java - 单击按钮即可显示文件选择器。 Java Swing ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27709758/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com