gpt4 book ai didi

java - JFileChooser.showOpenDialog 没有打开,也没有抛出错误?

转载 作者:行者123 更新时间:2023-11-29 06:19:06 27 4
gpt4 key购买 nike

好的,所以我正在尝试制作一个十六进制编辑器,并且正在尝试制作一个加载 JMenuItem,但它不起作用。 JFileChooser OpenDialog 没有显示,也没有显示任何错误。

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;
import java.util.Vector;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;

public class HexEditor extends JFrame{
JTextArea textArea;
JFileChooser chooser;// = new JFileChooser();
FileInputStream fin;
JMenuBar menuBar;
JMenu file;
JMenuItem load;

public HexEditor(){
super("Cypri's java hex editor");

chooser = new JFileChooser();

load = new JMenuItem("Load");
load.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event) {


try{

openFile();
fin = new FileInputStream(chooser.getSelectedFile());

int ch;
StringBuffer strContent = new StringBuffer("");

for(int i = 0; (ch = fin.read()) != -1; i++){
String s = Integer.toHexString(ch);

if(s.length() < 2)
s = "0" + Integer.toHexString(ch);

if(i < 10)
strContent.append(" " + s.toUpperCase());

else{
strContent.append(" " + s.toUpperCase() + "\n");
i = 0;
}
}

textArea.setText(strContent.toString());
//textArea.setWrapStyleWord(true);
//textArea.setColumns(50);
//textArea.setRows(50);
}

catch(Exception e){
e.printStackTrace();
}
}
});

file = new JMenu("File");
file.add(new JMenuItem("Load"));

menuBar = new JMenuBar();
menuBar.add(file);

textArea = new JTextArea();
textArea.setSize(300,300);
textArea.setText("Hello\n");
textArea.append(" world!");




setSize(640, 480);
//getContentPane().setBackground(Color.);
getContentPane().setLayout(new BorderLayout());
getContentPane().add(BorderLayout.NORTH, menuBar);
getContentPane().add(BorderLayout.WEST, textArea);
pack();
setVisible(true);
}

public void openFile(){
chooser.showOpenDialog(this);
}

public static void main(String[] args){
HexEditor app = new HexEditor();
}
}

最佳答案

您永远不会添加带有监听器的 JMenuItem,而是创建一个新的。

替换:

file.add(new JMenuItem("Load"));

file.add(load);

关于java - JFileChooser.showOpenDialog 没有打开,也没有抛出错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3902148/

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