我想知道我怎麼可以顯示從這段代碼的輸出...當菜單項被點擊瞭如何創建一個JTextField
我想點擊JMenuItem
後在JTextArea
打開此在JMenu
private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {
//code for Output
}
可能有人請幫助我實現這一目標。
我想知道我怎麼可以顯示從這段代碼的輸出...當菜單項被點擊瞭如何創建一個JTextField
我想點擊JMenuItem
後在JTextArea
打開此在JMenu
private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {
//code for Output
}
可能有人請幫助我實現這一目標。
不會這樣做的伎倆?:
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.*;
public class JavaApplication151 extends JFrame {
private JMenuBar menu;
private JMenu fileMenu;
private JMenuItem showFilesMenuItem;
private JTextArea ta;
private JScrollPane areaPane;
public JavaApplication151() {
createAndShowUI();
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
JavaApplication151 test = new JavaApplication151();
test.setVisible(true);
}
});
}
private void createAndShowUI() {
setTitle("Test");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
addComponentsToPane();
addListeners();
pack();
}
private void addComponentsToPane() {
ta = new JTextArea(10, 10);
areaPane = new JScrollPane(ta);
fileMenu = new JMenu("File");
showFilesMenuItem = new JMenuItem("Show Files");
menu = new JMenuBar();
fileMenu.add(showFilesMenuItem);
menu.add(fileMenu);
getContentPane().add(areaPane, BorderLayout.CENTER);
getContentPane().add(menu, BorderLayout.NORTH);
}
private void addListeners() {
showFilesMenuItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
ta.setText("");//clear textarea text
listFiles();
}
private void listFiles() {
File folder = new File("C:\\Users\\Hugo Monteiro\\Documents\\NetBeansProjects\\FileImporter\\ImagensDB");
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
ta.append("File: " + listOfFiles[i].getName());
}
}
}
});
}
}
你有確切的代碼只是要你的方法移動到菜單項actionPerformed()方法,除非我誤解了這個問題?
最簡單的方法可能是使用JOptionPane
並將您的JTextArea
傳遞給JOptionPane
。例如。通過調用JOptionPane#showMessageDialog
方法
+1這一定是它(@Robin好的和快速的建議,它不承擔任何有關該地區的位置)。作爲對代碼的額外評論,我還將在附加結果之前清除該區域,例如, 'ta.setText(「」)',但也許OP不需要。無論如何,好樣品。 – Boro
@Boro按照建議添加了ta.setText(「」),我確定它是必需的OP。 +1。謝謝 –
對不起,我最近很遲纔回復你的幫助,剛纔很多考試:\我真的很感激,這個技巧非常感謝你。 –